1

当访问者按下 STOP、REFRESH 或 BACK 或在文件上传到我的 Node.js 服务器期间简单地关闭浏览器时,就会出现问题。服务器中会留下一些垃圾文件。

为了解决这个问题,我尝试先将上传的文件保存到一个临时目录中,并在下次访问者再次上传内容时删除这些文件。但是,显然 Node.js 锁定了上次上传的文件,从而防止它被删除。

当我停止 Node.js 服务器时,文件上的锁定将被释放,最终将被删除。

如何在不重新启动服务器的情况下删除垃圾文件?我正在使用 busboy 包。

4

2 回答 2

1

我会使用像Skipper这样的包来上传文件,你只在上传完成时将文件保存到磁盘,如果用户在中间的某个地方中断上传,那么文件永远不会保存,你只需清除缓冲区。

于 2015-10-13T08:13:38.083 回答
0

出色地。我通过在 30 分钟后手动结束流解决了 busboy 的问题。这将解锁文件以供下次删除。

setTimeout(function(){fstream.end();},1800000);
于 2015-10-14T09:59:02.010 回答