首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断文件是否已完成FTPed?

问如何判断文件是否已完成FTPed?
EN

Stack Overflow用户
提问于 2009-02-05 21:49:25
回答 7查看 7.1K关注 0票数 4

我们有一个服务轮询一个文件夹,等待一个C#格式的文件被张贴进去。为了避免在文件仍被写入时使用它,我们首先尝试获得文件上的锁,但是,似乎有一些情况下,我们在FTP文件创建之后但在文件被写入之前获得了文件上的锁,所以我们最终打开了一个空文件。

有没有可靠的方法来判断FTP是否完成?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-02-05 22:01:23

使用文件夹观察器来索引内容,如果文件大小在5分钟内没有变化,你可以很好地保证上传已经完成了。

超时时间可能与FTP服务器的超时时间有关。

http://www.codeproject.com/KB/files/MonitorFolderActivity.aspx

票数 3
EN

Stack Overflow用户

发布于 2009-02-05 21:56:20

你可以在上传前更改文件名,然后在上传完成后重命名。这样,在完成之前,它看起来就像不存在一样。

票数 8
EN

Stack Overflow用户

发布于 2009-02-05 21:59:10

我见过的一种做法是传输两个文件,一个是实际的文件,第二个我们称之为.done文件。理想的情况是,只要您看到.done文件,就知道应该完成第一个文件。

其他选项包括查看文件是否有修改,并等待一段特定的无修改时间。当然,这并不是完全的证据。

编辑

Kyle提出了一个很好的观点,即向.done文件添加校验和和/或指示第一个文件的大小是防止边缘情况的良好保护。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/518109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档