2017-04-25 113 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'将文件移动到新的位置,但是当我使用流时,我需要在完成时手动删除临时文件。 –

相关问题