FTP客户端上传:在开始传输之前预先分配文件

当多个客户端同时上传到FTP服务器时,我想限制服务器磁盘碎片。

有没有办法告诉FTP服务器为传入文件的大块预分配磁盘空间,并保持在大块增加?

或者,有没有办法告诉FTP服务器预先分配整个文件的价值,并以更顺序的模式写入传入的FTP数据包。

在传输之后对文件进行碎片整理是不可接受的:碎片整理将花费太长时间。

我正在使用IIS 6.0,但其他FTP服务器产品将是一个受欢迎的替代品。

FTP协议不包含STOR命令中的大小信息:

http://www.ietf.org/rfc/rfc959.txt

所以我怀疑你会find任何纯粹的FTP客户端会这样做。 您可能会发现一些供应商实施了专有扩展,但这需要客户端和服务器来支持它们。 你说“客户”,所以如果这包括内部和外部客户端,你可能会遇到问题,迫使他们使用不同的软件。

快速浏览SFTP草稿并不表示写入文件消息也包含文件大小。

SCP协议在其文件拷贝命令中包含一个size参数,并且有支持SCP(而不是SFTP)的Windows GUI客户端,但是你必须检查服务器是否使用size参数预分配。 好的,代码是可用的,所以你可以build立你自己的预先分配的Windows SSH / SCP守护进程。 但是这对于你所描述的问题有点矫枉过正。