2015-10-13 92 views
1

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

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

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

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

回答

1

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

0

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

setTimeout(function(){fstream.end();},1800000); 
+0

嗯,我不会推荐这样一个解决方法,但重构是时间,这是值得的钱,所以,只要你的系统没有得到沉闷失败的上传我猜你会没事的 –