如何从url加载图像到nodejs的缓冲区

我是新的nodejs,并试图build立一个服务器,我从图像获取exif信息。 我的图片是在S3上,所以我希望能够传递s3 url作为参数,并从中获取图片。

我使用下面的ExifImage项目来获取exif信息,并根据他们的文档:

“而不是在文件系统中提供一个图像的文件名,你也可以将缓冲区传递给ExifImage。”

我怎么能加载一个图像到缓冲区的节点从一个URL,所以我可以将其传递给ExifImage函数

ExifImage项目: https : //github.com/gomfunkel/node-exif

谢谢你的帮助!

       

网上收集的解决方案 "如何从url加载图像到nodejs的缓冲区"

尝试像这样设置请求:

var request = require('request').defaults({ encoding: null }); request.get(s3Url, function (err, res, body) { //process exif here }); 

这将导致请求输出缓冲区而不是string。

使用请求库。

 request('<s3imageurl>', function(err, response, buffer) { // Do something }); 

此外, 节点图像标题可能是你感兴趣的。 这听起来像需要一个stream,所以它可能不需要从S3下载完整的图像来处理标题。

用正确的callback签名更新。