1

如何以分段方式在 FTP 中上传文件?是否有任何开源工具/库以便我可以使用它?合并上传是否需要任何服务器端更改?目前我正在使用vsftpd。

4

2 回答 2

1

首先要考虑的是分段转账不被认为是良好的网民行为。(即,您通过在共享链接上设置多个下载来与系统博弈,获得的带宽超过您的公平份额)因此,协议定义不支持专门分段上传。(或为此下载)恢复是。

分段下载是一些工具使用协议的恢复功能同时传输同一文件的不同部分的黑客行为。这种行为具有“非标准”而不是协议规范的意图。

分段上传是可能的,但客户端和 ftpd 服务器(或您使用的任何协议服务器)需要支持这种非标准并且不赞成实施。

同样,任何标准都没有特别支持这一点,因为开放标准不鼓励这种不良行为。

但是,您会发现像 lftp 这样支持分段 ftp 下载的工具。但目前,我还没有看到任何使用 ftp 等常见开放协议的分段上传实现。

我确实找到了一个基于 java(自定义开源)的 udp 工具来执行此操作,但是如果您想要 Internet 的可靠性,udp 需要 tcp 后备。(udp 被某些 Internet 网关丢弃)

于 2019-11-19T01:39:19.613 回答
1

在 FTP 协议中,您可以使用REST命令实现分部传输。

REST命令定义文件中的偏移量,传输开始的地方。然后,您可以传输任意数量的字节。然后您可以从另一个偏移量再次重新开始传输。

vsftpd 服务器支持REST命令。

于 2018-12-19T09:42:23.693 回答