我的應用程序監視著一組用戶可以在其中上傳文件的文件夾。文件上傳完成后,我必須進行處理,但是我不知道如何檢測文件尚未完成上傳。有什么方法可以檢測FTP服務器是否尚未釋放文件?
3 回答

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
我使用ftputil實現此替代方法:
連接到ftp服務器
列出目錄中的所有文件
在每個文件上調用stat()
等待N秒
對于每個文件:再次調用stat()。如果結果不同,請跳過此文件,因為它是在最近幾秒鐘內修改的。
如果stat()結果相同,則下載文件。
整個ftp獲取是古老而過時的技術。我希望客戶下次可以使用現代的http API :-)

繁星淼淼
TA貢獻1775條經驗 獲得超11個贊
這是FTP傳輸的經典問題。我發現的唯一最可靠的方法是發送文件,然后發送第二個簡短的“標記”文件,只是告訴接收者第一個文件的傳輸已完成。您可以使用文件命名約定,僅檢查第二個文件是否存在。
您可能會很喜歡,然后將第二個文件的內容作為第一個文件的校驗和。然后,您可以驗證第一個文件。(第二個文件沒有問題,因為您只等到文件大小=校驗和大?。?/p>
當然,這只有在您可以使發送者發送第二個文件的情況下才有效。
- 3 回答
- 0 關注
- 995 瀏覽
添加回答
舉報
0/150
提交
取消