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

我的应用程序监视着一组用户可以在其中上传文件的文件夹。文件上传完成后,我必须进行处理,但是我不知道如何检测文件尚未完成上传。

有什么方法可以检测FTP服务器是否尚未释放文件?


梵蒂冈之花
浏览 960回答 3
3回答

吃鸡游戏

我使用ftputil实现此替代方法:连接到ftp服务器列出目录中的所有文件在每个文件上调用stat()等待N秒对于每个文件:再次调用stat()。如果结果不同,请跳过此文件,因为它是在最近几秒钟内修改的。如果stat()结果相同,则下载文件。整个ftp获取是古老而过时的技术。我希望客户下次可以使用现代的http API :-)

繁星淼淼

这是FTP传输的经典问题。我发现的唯一最可靠的方法是发送文件,然后发送第二个简短的“标记”文件,只是告诉接收者第一个文件的传输已完成。您可以使用文件命名约定,仅检查第二个文件是否存在。您可能会很喜欢,然后将第二个文件的内容作为第一个文件的校验和。然后,您可以验证第一个文件。(第二个文件没有问题,因为您只等到文件大小=校验和大小)。当然,这只有在您可以使发送者发送第二个文件的情况下才有效。
打开App,查看更多内容
随时随地看视频慕课网APP