问题场景
文件通过ftp客户端上传到ftp服务器,服务器段需要及时的把读写完成的文件保存到其他storage中(或者处理)。这就需要保证监听程序能够监听该文件,判断该文件已经被写完成了,才能够做后续处理,否则接受到的是一个不完成的文件。(主要场景是ftp客户端上传的文件是不可控的,就是不是你自己控制的。所以加校验码、文件名后缀等方式不可行) 类似的问题在stackoverflow
当然,比较合理的方式有;
通过文件状态判断文件是否写入完成
I use ftputil to implement this work-around:
- connect to ftp server
- list all files of the directory
- call stat() on each file