Node.js 使用restify上载文件后清理临时文件
我正在使用Node.js 使用restify上载文件后清理临时文件,node.js,restify,formidable,Node.js,Restify,Formidable,我正在使用restify构建节点存储服务器。我正在通过restify.bodyParser处理上传,它在引擎盖下使用强大的 默认情况下,强大将文件存储在os.tmpDir()中,我需要将其更改为其他文件夹,因此我通过restify.bodyParser({uploadDir:'/path/to/new/tmp'})执行了此操作。 问题是,即使在我处理完请求之后,这些临时文件仍保留在tmp目录中 我看到了这个问题(),它假设在处理tmp文件之后删除它 我的问题是,您是否需要始终手动删除该文件?即使
restify
构建节点存储服务器。我正在通过restify.bodyParser
处理上传,它在引擎盖下使用强大的
默认情况下,强大将文件存储在os.tmpDir()
中,我需要将其更改为其他文件夹,因此我通过restify.bodyParser({uploadDir:'/path/to/new/tmp'})执行了此操作。
问题是,即使在我处理完请求之后,这些临时文件仍保留在tmp目录中
我看到了这个问题(),它假设在处理tmp文件之后删除它
我的问题是,您是否需要始终手动删除该文件?即使使用默认的
os.tmpDir()
目录?默认系统tmp文件夹如何工作?有时会自动刷新吗?通常,对于文件上载,代码会将上载的文件从临时位置移动到更永久的位置。如果在处理上载后,您只剩下一个临时文件,则应该手动清理它(使用fs.unlink()
)
在UNIX类型的操作系统上,
os.tmpDir()
(通常是/tmp
)不会被系统定期清理(虽然它通常在系统启动时被清除)。是的,我使用分块上传,所以我使用流将分块的内容复制到结果文件中,我忘了提到这一点。因此,通常我会使用fs.rename
将文件移动到新位置,但在使用streams时,我需要在完成时手动删除临时文件。