1

远程客户端会将图像(可能还有一些特殊格式文本的说明文件)上传到“放置文件夹”。上传完成后,我们需要开始处理这些图像。这将是一个简单但有缺陷的解决方案,只需让脚本每隔几秒自动开始处理文件夹中的任何文件(文件一旦处理就可以移出文件夹);但是在尝试处理仅部分传输的大图像时会出现问题。

我可以使用哪些技巧来确保文件在处理之前完全上传?

自己的几点想法: 脚本可以检查文件的有效性;即,部分 jpeg 会导致错误,您可以在脚本中响应该错误,但这会占用大量 CPU。有些文件的末尾有特殊标记,但我不能指望这一点,我不确定我会处理什么格式。

我听说过“文件句柄”,但还没有真正弄清楚它们是什么以及如何判断特定文件上是否有“文件句柄”。基本上 FTP 守护程序(实际上,我在 Windows 上,所以“服务”)会在文件上传时保留一个“句柄”,并且您会知道不处理该文件。这些只是我的一些想法,但我不确定它们是否会起作用,或者是否有更好或更可接受的方法来解决这个问题。

4

2 回答 2

1

如果您有服务器端脚本上传系统(PHP、ASP、JSP 等),您可以指示脚本调用另一个脚本来处理文件,或者创建一个指示上传完成的标志文件,类似这样.

如果您的服务器是基于 Linux 的,您可以使用lsof检查文件是否打开。由于您的 ftp/script/cgi 将在上传完成后关闭文件,因此lsof不会在列表中显示该文件。

如果您的服务器是基于 Windows 的,您可以使用 Process Explorer 列出打开的文件。

于 2011-04-13T18:54:23.230 回答
0

您的用户通过什么方式上传图片?

于 2011-04-13T19:27:41.013 回答