如何以分段方式在FTP中上传文件?是否有任何开放源代码工具/库可供我使用? 合并上传文件是否需要服务器端更改?目前,我正在使用vsftpd。
答案 0 :(得分:1)
在FTP协议中,您可以使用REST
command来实现部分传输。
REST
命令定义了文件的偏移量,此位置开始传输。然后,您可以根据需要传输任意多个字节。然后您可以从另一个偏移处重新开始传输。
vsftpd服务器支持REST
命令。
答案 1 :(得分:0)
首先要考虑的是,分段转移并不被视为良好的公民净行为。 (即您通过在共享链接上设置多次下载来获得系统的收益,获得的收益超过了您合理分配的带宽)。因此,协议定义不支持专门分段的上传。 (或为此下载)继续。
分段下载是一些使用协议的RESUME功能同时传输同一文件的不同部分的工具的攻击。此行为具有“ NON-STANDARD”而不是协议规范的意图
可以分段上传,但是客户端和ftpd服务器(或您使用的任何协议服务器)将需要支持此NO-STANDARD并在实现时皱眉。
同样,在任何标准中都没有特别支持,因为开放标准不鼓励这种不良行为。
但是,您会找到lftp之类的工具,它们支持分段的ftp下载。但目前,我还没有看到使用ftp等常见开放协议的分段上传的任何实现。
我确实找到了一个基于Java(自定义开放源代码)的udp工具来执行此操作,但是,如果您想要Internet上的可靠性,则udp需要tcp后备。 (一些互联网网关删除了udp)