MaterialFiles
MaterialFiles copied to clipboard
大文件(2.01G)pc传手机时,提时无权限
如题。是需要设置什么吗?
你是通过什么传的?有截图吗?
你是通过什么传的?有截图吗?
我是在文件管理器打开ftp并传文件的,系统是win10,手机是安卓。
我又试了下,其他大于2G的文件可以传。但是只有该文件不能,错误提示如下图。

听起来应该是文件名编码问题,和大小无关。但我也不知道具体是什么编码问题,我用的库(Apache MINA FtpServer)也并不支持指定编码。
试试把名称变成英文无空格,放过去之后再改名?
或许可以考虑把文件和名称分开传送,先随机改一个名字,在内存里面保留原文件名称。扔过去之后改回来
试试把名称变成英文无空格,放过去之后再改名?
或许可以考虑把文件和名称分开传送,先随机改一个名字,在内存里面保留原文件名称。扔过去之后改回来
竟然可以。👍
我发现MaterialFiles不能传的文件,用miui自带的ftp功能也会提示同样的信息。我猜可能是ftp本身的问题。(今天想起来了,post一下)
SD 卡提供的 FAT 文件系统不支持大于 4 GB 的文件,2 GB 就不清楚了
大概是因为空格令软件理解错误了,打个比方:
put source
会把本地的source复制到伺服器的working directory,但是有空格的话:
put sourc e
会尝试把本地的sourc复制到伺服器的e,但是本地的sourc文件不存在,或者是你没有写入伺服器的e的权限(因为根本没这个东西给你写)。正确做法是
put "sourc e"
也有可能是FTP根本没想过要有空格,所以这就是为什么电脑会避免空格出现在档案名里面(windows除外)。尽量用_代替空格,避免非ASCII,可以有效避免这个问题
大概是因为空格令软件理解错误了,打个比方:
我做了下测试,确实是跟文件名称有关的,但是跟空格的关系不是那么简单。
-
以空格/减号为分隔符,将名称中的字符串划分单元。当名称里有汉字时,其中一个单元的汉字是奇数个。如:
该下滴.png,该下滴-.png,该下滴-哈哈.png,该下滴 哈哈.png。因为名称中的“该下滴”这个单元中的汉字是奇数个,所以报错了。想要解决这个问题,可以删去一个汉字使各单元的汉字数量为偶数个:该下 哈哈.png。“该下”和“哈哈”这两个单元中的汉字都是偶数个,所以没有报错。或者加一个_:该下滴_ 哈哈.png。ftp可能将_认作和汉字一类的事物了。 -
当单元以汉字“一”开头时,若某个单元包含的汉字个数是偶数个,将会报错。正好与第一条相反。也可以这么理解,ftp将汉字“一”作为划分单元的分隔符了。如
该下一哈 去吧.png会报错。该下一哈哈 去吧.png不报错。
这么有规律的报错,我猜或许跟汉字编码有关吧。但是“一”编码(19968)之后一位是“丁”(19969),但是“丁”却没有“一”的效果。唉!(我还试了“一”之后20位的的“且”和21位的“丕”,均无“一”的效果。)

@draftman9 二、三、四之类的会不会报错?英文数字会不会报错?
foo-bar.png
foo-.png
foo bar.png
foo- bar.png
foo -bar.png
foo - bar.png
fooo-bar.png
fooo-.png
fooo bar.png
fooo- bar.png
fooo -bar.png
fooo - bar.png
@draftman9
二、三、四之类的会不会报错?英文数字会不会报错?
其他汉字不会,只有汉字“一”有这个特效。英文数字、英文大小写字母、左中括号和英文感叹号也有这个特效。
foo-bar.png foo-.png foo bar.png foo- bar.png foo -bar.png foo - bar.png fooo-bar.png fooo-.png fooo bar.png fooo- bar.png fooo -bar.png fooo - bar.png
上面的名称没有任何问题,可以正常传输。(毕竟ftp是老外开发的技术)
顺便问一下:咱们这个软件可以加一个登录ftp的功能吗?手机上浏览器不能访问ftp。目前我是用es file explorer满足了这个需求。
怀疑是 Windows Explorer 的 FTP 客户端对 UTF-8 支持有些问题。
质感文件在添加存储那里已经支持了 FTP。
我有空在linux系统上试试