防止文件在上传时被访问

yog*_*ear 7 ftp

如果我要将一个大文件上传到 FTP 服务器,该文件是否会立即出现在目标文件系统中,并且在传输完成之前是否有可能被另一方访问?

如果是这样,有什么方法可以防止文件在传输完成之前被读取?

Fra*_*mas 4

这将完全取决于您的特定服务器实现行为,并且在RFC959中没有完全定义。

一般来说,一个文件在上传返回226之前在服务器上不可用,其状态为150。如果文件尚未完全上传,其状态响应将不是550,并且不会传输该文件给客户。

为了做到这一点,当 EOF 字节到达时,STOU 动词将知道文件上传已完成,因此此时整个文件已上传,因此它返回 226。

RECV动词将首先返回所请求文件的状态。如果文件处于可接受的状态,则预计会收到 150 的响应,然后将开始传输。

此外,请记住,大多数服务器服务都是作为多线程应用程序实现的,文件的线程安全通常依赖于文件系统和服务器操作系统对文件的锁定。在大多数平台上,当主动写入文件时,其他线程无法读取或写入该文件,直到释放锁为止。