Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用restify上载文件后清理临时文件_Node.js_Restify_Formidable - Fatal编程技术网

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时,我需要在完成时手动删除临时文件。