【问题标题】:How to deal with Interrrupted File Uploads in Node.js如何在 Node.js 中处理中断的文件上传
【发布时间】:2016-01-10 20:53:35
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript node.js file-upload upload busboy


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 嗯我不推荐这样的修复,但重构是值得的时间,只要你的系统不会因为上传失败而变得笨拙,我想你会没事的
      猜你喜欢
      • 2016-11-15
      • 1970-01-01
      • 2014-03-03
      • 2019-11-29
      • 2017-06-24
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      相关资源
      最近更新 更多