2015-10-13 26 views
1

當訪問者在文件上傳到Node.js服務器期間按下STOP,REFRESH或BACK或簡單地關閉瀏覽器時,就會出現問題。服務器中會留下一些垃圾文件。如何處理Node.js中的中斷文件上傳

爲了解決這個問題,我嘗試將上傳的文件保存到臨時目錄中,並在下次訪問者再次上傳內容時刪除這些文件。但是,顯然Node.js會鎖定上次上傳的文件,從而阻止它被刪除。

當我停止Node.js服務器時,該文件的鎖定將被釋放,最終將被刪除。

如何在不重新啓動服務器的情況下刪除垃圾文件?我正在使用公務員套餐。

回答

1

我會使用像Skipper這樣的軟件包來上傳文件,上傳完成時只保存文件到磁盤,如果用戶在中間的某處中斷了上傳,那麼文件永遠不會被保存,您只需清除緩衝。

0

好吧。我通過30分鐘後手動結束流解決了busboy問題。這將在下一次解鎖文件以供刪除。

setTimeout(function(){fstream.end();},1800000); 
+0

嗯,我不會推薦這樣一個解決方法,但重構是時間,這是值得的錢,所以,只要你的系統沒有得到沉悶失敗的上傳我猜你會沒事的 –