我试图调整上传到内存中的图像,使用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);
使用toBuffer
或write
作为输出我得到相同的ENOENT。我错过了什么吗?
答案 0 :(得分:0)
根据gm
Buffer example,您还需要提供数据的文件名。示例:gm(buffer, 'foo.jpg')
答案 1 :(得分:0)
我的Linux设置存在一些问题,并且Node.js无法使用ImageMagick。重新配置机器后,代码无需更改即可正常工作。