当访问者按下STOP,REFRESH或BACK时,或者在文件上传到我的Node.js服务器时关闭浏览器时,会出现问题。服务器中会留下一些垃圾文件。
为了解决这个问题,我尝试先将上传的文件保存到临时目录,然后在访问者再次上传内容时删除这些文件。但是,显然Node.js上次锁定了上传的文件,从而阻止了它被删除。
当我停止Node.js服务器时,文件上的锁定将被释放,最后它将被删除。
如何在不重新启动服务器的情况下删除垃圾文件?我正在使用busboy包。
答案 0 :(得分:1)
我会使用像Skipper这样的包来上传文件,你只在上传完成时将文件保存到磁盘,如果用户在中间的某处中断了上传,那么文件永远不会被保存,你只需清除缓冲区。
答案 1 :(得分:0)
好。我通过在30分钟后手动结束流解决了busboy的问题。这将解锁文件以便下次删除。
setTimeout(function(){fstream.end();},1800000);