【问题标题】:Using multer in memory buffer with GraphicsMagick在 GraphicsMagick 的内存缓冲区中使用 multer
【发布时间】:2014-11-11 22:55:09
【问题描述】:

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

【问题讨论】:

    标签: node.js express graphicsmagick multer


    【解决方案1】:

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

    【讨论】:

    • 我的机器出了问题,一些环境变量造成了问题。现在它起作用了。处理流/缓冲区时不需要第二个参数('foo.jpg')。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-27
      • 2021-11-04
      • 2016-07-26
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 1970-01-01
      相关资源
      最近更新 更多