我需要使用Pause and Resume功能实现FTP客户端。
该主题提到如何为HTTP上传File upload pause and resume in Android完成。
也可以为FTP上传做类似的事情吗?
我将假设服务器还需要支持此功能。正确吗?
一些指示将有所帮助。
答案 0 :(得分:0)
FTP没有仅传输部分文件的功能,如HTTP与Content-Range
一样。但是如果你想停止上传你可以简单地关闭数据连接,并且为了恢复,你首先发出SIZE
命令来检测上传的文件大小,然后发出REST
命令,其中包含你的文件位置想继续上传。由于无法预先通知服务器有关最终文件大小的信息,您可能应首先上传到具有临时名称的文件,并在完成上传后使用RNFR
和RNTO
重命名到最终文件名。
有关这些FTP命令的更多信息,请查看标准,即RFC 959。
答案 1 :(得分:0)
恢复先前中断的转移:
检查已上传文件部分的大小。您可以使用SIZE
命令或(如果您的FTP服务器支持)MLST
命令。
使用APPE
而非STOR
开始新上传。将本地源文件流搜索到已上载的偏移量。
要使其工作,FTP服务器必须支持APPE
命令(大多数服务器都这样做)。