在GraphicsMagick的内存缓冲区中使用multer

时间:2014-11-11 13:31:28

标签: node.js express graphicsmagick multer

我试图调整上传到内存中的图像,使用multer over express来获取文件。虽然我可以访问req.files.picture.buffer并显示一些内容,但当我将缓冲区传递给GM​​时,我会收到一个ENOENT。代码如下:

var buffer = req.files.picture.buffer

gm(buffer)
  .options({imageMagick: true})
  .resize(300)
  .toBuffer('PNG', function (err, buffer) {
    if (err) return handle(err);
      console.log('done!');
  });

return res.sendStatus(200);

使用toBufferwrite作为输出我得到相同的ENOENT。我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

根据gm Buffer example,您还需要提供数据的文件名。示例:gm(buffer, 'foo.jpg')

答案 1 :(得分:0)

我的Linux设置存在一些问题,并且Node.js无法使用ImageMagick。重新配置机器后,代码无需更改即可正常工作。