gm stream stdout pipe投掷未处理的错误

时间:2014-02-19 22:11:47

标签: node.js express graphicsmagick

我正在尝试获取图像url获取图像然后将其写入文件系统然后调整大小。在调整大小结束时,我想将其返回到响应,以便客户端获取图像。现在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);
      })
  });
};

1 个答案:

答案 0 :(得分:1)

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