NodeJS处理远程映像而不下载它

在NodeJS中,我需要创build一个用于远程image processing的API。 使用图像的URL我需要获取所有相关的数据(宽度,高度,文件大小等),然后使用graphicsmagick库来处理它。 问题是,gm总是返回这个错误

{[Error:spawn ENOENT] code:'ENOENT',errno:'ENOENT',syscall:'spawn'}

我使用的代码是

request.get(imageUrl, function (err, res, body) { var buffer = new Buffer(body,'binary'); gm(buffer) .size(function (err, size) { if (!err) { console.log('width = ' + size.width); console.log('height = ' + size.height); } else console.log(err) }); }); 

问题是:如何处理图像而不下载?

图像元数据在不同的图像文件格式中没有通用的规范。 因此,在大多数情况下,您将不得不依赖远程服务器的API来为您提供图像元数据,而无需提供完整的图像信息,或者您希望避免的情况 – 只需获取完整图像并自行计算即可。 如果您不需要确切的图像尺寸或比例,可以通过发送HTTP HEAD请求并解释Content-TypeContent-Length HTTP响应标头来估计它们。

关于ENOENT错误,似乎这可能是关于丢失的数据( 身体正确设置?)还是缺lessImageMagick安装: 错误:在节点中使用GM时产生ENOENT