【问题标题】:expressjs file download memory leakexpressjs文件下载内存泄漏
【发布时间】:2023-03-27 10:50:01
【问题描述】:

我在使用 ExpressJs 时遇到了一种非常奇怪的行为,如果在一秒钟内被多个请求击中,下面的代码会向客户端抛出 404 并且查看日志我看到的所有内容如下:

(node:1460) 警告:检测到可能的 EventEmitter 内存泄漏。 11 添加了文件侦听器。使用emitter.setMaxListeners() 增加限制

目标方法(从 AWS S3 存储桶下载文件并通过管道传输响应):

 exports.download = function (req, res) {
     var fileName = req.params.fileName;

     var options = {
         Bucket: config.s3.bucket,
         Key: fileName
     };

     res.attachment(fileName);
     s3.getObject(options).createReadStream().on('error', function(err){
         console.log(err);
     }).pipe(res);
 }

【问题讨论】:

    标签: node.js amazon-web-services express amazon-s3 memory-leaks


    【解决方案1】:

    事实证明,formidable 妨碍了。一旦我从这个请求中过滤掉它,一切都会按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-18
      • 2011-02-22
      • 2012-06-22
      • 1970-01-01
      相关资源
      最近更新 更多