2017-04-25 112 views
1

我正在用restify構建節點存儲服務器。我正在通過處理上傳,該引擎使用formidable使用restify清理文件上傳後的臨時文件

默認情況下,強大的商店文件os.tmpDir(),我需要將其更改爲其他文件夾,所以我通過restify.bodyParser({uploadDir: '/path/to/new/tmp'})

問題是,即使完成處理請求後,這些臨時文件仍保存在tmp目錄中。

我看到這個問題(Handling Temporary Files after upload),它假設在處理它之後刪除tmp文件。

我的問題是,你是否需要總是手動刪除文件?即使使用默認的os.tmpDir()目錄?默認系統tmp文件夾如何工作?它有時會沖洗嗎?

回答

2

通常,對於文件上傳,您的代碼會將上傳的文件從其臨時位置移動到更永久的位置。如果在處理完上載之後,您將留下一個臨時文件,則應手動進行清理(使用fs.unlink())。

在UNIX類型的操作系統上,os.tmpDir()(通常爲/tmp)未由系統定期清理(儘管在系統引導期間通常會清除它)。

+0

是的,我正在使用分塊上傳,所以我使用流複製塊的內容到結果文件,我忘了提及。所以通常我會使用'fs.rename'將文件移動到新的位置,但是當我使用流時,我需要在完成時手動刪除臨時文件。 –

相關問題