node.js - gm 流标准输出管道抛出未处理的错误

标签 node.js express graphicsmagick

我正在尝试获取图像网址,获取图像,然后将其写入文件系统,然后调整其大小。在调整大小结束时,我想将其返回到响应,以便客户端获取图像。现在 stdout.pipe(res) 没有返回,我收到 events.js:72 错误: throw er;//未处理的“错误”事件。

我是否遗漏了任何明显的东西?

exports.getImage = function(req, res, next) {
  var fileId = Math.uuid();

  var i = request.get(req.params.image).pipe(fs.createWriteStream(fileId));
  i.on('close', function () {

    gm(fileId)
      .resize('200', '200')
      .stream(function (err, stdout, stderr) {
        if (err) next(err);
        stdout.pipe(res);
      })
  });
};

最佳答案

原来我没有在此实例上安装 GraphicsMagick。安装后,它像我预期的那样工作。

关于node.js - gm 流标准输出管道抛出未处理的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21893645/

相关文章:

javascript - 为什么我的 async.waterfall javascript 顺序代码没有结束?

node.js - 服务器日志中对第三方网站的请求

javascript - 使用node.js在javascript中调用另一个文件中的函数

bash - PSD 到 PNG 的转换不匹配

javascript - 从后端发送 JSON 到前端

node.js - 我如何从 node.js 中的其他模块访问应用程序变量?

javascript - 如何在 Node 中使用 Imagemagick 调整图像大小并降低 DPI

使用 Graphics Magick 转换命令时出现 Git fatal error

javascript - 在多个文件中拆分 mocha API 测试

node.js - exceljs 以 csv 格式正确写入文件,但 xlsx 格式的文件已损坏