0

我正在尝试调整上传到内存中的图像的大小,使用 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。我错过了什么吗?

4

2 回答 2

0

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

于 2014-11-11T14:55:09.837 回答
0

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

于 2014-11-11T13:48:35.363 回答