为了账号安全,请及时绑定邮箱和手机立即绑定

如何检测文件正在通过FTP上传

如何检测文件正在通过FTP上传

梵蒂冈之花 2019-11-20 10:22:24
我的应用程序监视着一组用户可以在其中上传文件的文件夹。文件上传完成后,我必须进行处理,但是我不知道如何检测文件尚未完成上传。有什么方法可以检测FTP服务器是否尚未释放文件?
查看完整描述

3 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

我使用ftputil实现此替代方法:

连接到ftp服务器

列出目录中的所有文件

在每个文件上调用stat()

等待N秒

对于每个文件:再次调用stat()。如果结果不同,请跳过此文件,因为它是在最近几秒钟内修改的。

如果stat()结果相同,则下载文件。

整个ftp获取是古老而过时的技术。我希望客户下次可以使用现代的http API :-)


查看完整回答
反对 回复 2019-11-20
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

这是FTP传输的经典问题。我发现的唯一可靠的方法是发送文件,然后发送第二个简短的“标记”文件,只是告诉接收者第一个文件的传输已完成。您可以使用文件命名约定,仅检查第二个文件是否存在。

您可能会很喜欢,然后将第二个文件的内容作为第一个文件的校验和。然后,您可以验证第一个文件。(第二个文件没有问题,因为您只等到文件大小=校验和大小)。

当然,这只有在您可以使发送者发送第二个文件的情况下才有效。


查看完整回答
反对 回复 2019-11-20
  • 3 回答
  • 0 关注
  • 959 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信