当前位置: 首页 > 面试题库 >

如何将图像从URL加载到Node.js的缓冲区中

施兴言
2023-03-14
问题内容

我是nodejs的新手,正在尝试设置一个服务器,在该服务器上我可以从映像中获取exif信息。我的图片在S3上,因此我希望能够仅将s3
url作为参数传递并从中获取图片。

我正在使用下面的ExifImage项目来获取exif信息并根据其文档进行操作:

“除了在文件系统中提供图像的文件名,您还可以将缓冲区传递给ExifImage。”

如何将图像从URL加载到节点的缓冲区中,以便将其传递给ExifImage函数

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

谢谢你的帮助!


问题答案:

尝试像这样设置请求:

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

设置encodingnull将会导致请求输出缓冲区而不是字符串



 类似资料:
  • 我有一个url数组,我必须加载所有图像并将其放入图像数组。 我在试这个 但它不起作用。我该怎么做?

  • 问题内容: 我有一些二进制数据的缓冲区: 我想追加。 如何追加更多二进制数据?我正在搜索文档,但是要附加数据,它必须是字符串,否则,将发生错误( TypeError:Argument必须是string ): 然后,我在这里看到的唯一解决方案是为每个附加的二进制数据创建一个新缓冲区,并将其复制到具有正确偏移量的主缓冲区中: 但这似乎效率不高,因为我必须为每个追加实例化一个新的缓冲区。 您知道附加二进

  • 问题内容: 我写了一个非常简单的函数,可以从给定的URL下载图像,调整图像大小并上传到S3(使用’gm’和’knox’),我不知道我是否在正确地将流读取到缓冲区中。(一切正常,但这是正确的方法吗?) 另外,我想了解一些有关事件循环的知识,如何知道该函数的一次调用不会泄漏任何内容,也不会将’buf’变量更改为另一个已经运行的调用(否则这种情况是不可能的,因为回调是匿名的功能?) 问题答案: 总的来说

  • 我将图像路径(来自图库的图像)存储在SQLite数据库中,现在加载到图像视图中。。。并使用此代码: 和错误: E/BitmapFactory:无法解码流:java.io.FileNotFoundException:/storage/emulated/0/DCIM/Camera/IMG_20161230_224205.jpg(权限被拒绝)

  • JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。 但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。 在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二

  • 我想从我的应用程序中的URL加载一个图像,所以我首先尝试使用Objective-C,它成功了,但是,使用Swift,我有一个编译错误: “imageWithData”不可用:使用对象构造“UIImage(数据:)” 我的职能: 在目标C中: 有人能给我解释一下为什么不能与Swift一起工作,以及我如何解决这个问题。