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