确定FTP上载文件何时可以使用FileSystemWatcher进行处理

时间:2012-03-27 18:56:22

标签: .net file-upload ftp filesystemwatcher

我希望用户能够通过FTP将文件上传到我的网站(IIS 7.5)。上传文件后,我想使用FileSystemWatcher处理文件。如何确定文件何时完成上传到服务器?我不想在完成整个上传之前处理它。

3 个答案:

答案 0 :(得分:3)

确实没有固有的方法可以知道文件已完成上传。它甚至有可能先部分上传并稍后完成。

您需要从文件内容确定它是完整文件或使用其他标记。例如,表示完成的空文件,即用户首先上传file1.dat,然后上传file1.done以表示现在可以处理file1.dat

答案 1 :(得分:1)

如果您使用的是IIS 7.5及更高版本,则可以编写可以启动进程的FTP提供程序 - 这不会使用文件系统观察程序,但可能提供更好的替代方法。

以下是IIS的指南,其中显示了一个示例(在这种情况下发送通知电子邮件),您可以根据自己的需要进行调整。

http://learn.iis.net/page.aspx/632/how-to-use-managed-code-c-to-create-an-ftp-provider-that-sends-an-email-when-files-are-uploaded/

答案 2 :(得分:0)

实际上你可以每秒检查一次文件大小,如果它没有增加一段时间,那么传输就可以了。