2011-06-21 59 views
1

我想爲我們的客戶提供一個上傳文件夾。由於Windows,Linux和MacOS X支持webdav,我們選擇了帶有DAV模塊的Apache服務器。這很好地工作。Ruby檢查webdav上傳是否完成

但是,某些後處理應該應用於某些文件,並且某些文件大於50M。某些用戶的互聯網連接速度較慢,因此上傳時間有時會超過2分鐘。後處理由一個ruby腳本組成,該腳本遍歷啓用webdav的apache的文檔根目錄中的新文件。問題是,我想知道哪些文件實際上完成了上傳,因此我不會最終處理半上傳的文件。

有沒有辦法?

回答

1

將文件傳輸到Apache DAV服務器(使用Mac OS X SLS和Apache進行嘗試)時,會在同一目錄中創建一個名爲._filename.ext的臨時文件。上傳完成後,臨時文件被刪除。

所以我想你可以檢查一下。

+0

感謝您的意見。不幸的是,我的Apache沒有生成這樣的隱藏文件。但我只是試圖上傳一個500 MB的文件,似乎它只會在下載完成後才轉移到目錄中。爲了安全起見,我只是用File.read讀取文件,這樣進程就會阻塞,直到文件完全寫入。 – moritz