试图找到一种从图像文件缓冲区中提取 IPTC 数据的方法,npm 上现有的库允许您从本地文件系统打开和读取文件,但我将文件存储在 AWS S3 上,并且更喜欢使用缓冲区创建不必要的磁盘写入。
不知道从哪里开始,也许开始研究这个模块是如何工作的: https ://www.npmjs.com/package/extract-iptc 并创建我自己的模块?或者有没有我错过的更简单的方法?
试图找到一种从图像文件缓冲区中提取 IPTC 数据的方法,npm 上现有的库允许您从本地文件系统打开和读取文件,但我将文件存储在 AWS S3 上,并且更喜欢使用缓冲区创建不必要的磁盘写入。
不知道从哪里开始,也许开始研究这个模块是如何工作的: https ://www.npmjs.com/package/extract-iptc 并创建我自己的模块?或者有没有我错过的更简单的方法?
我能够通过使用提取 IPTC 数据
var iptc = require('node-iptc');
var iptc_data = iptc(imageData);
还有一个在 Node.js 和浏览器中都可以使用的同构库exifr 。它也适用于新的 HEIC 图像格式。
exifr.parse(input, {iptc: true}).then(output => {
console.log('IPTC', output)
})
它解析多种格式(TIFF/EXIF、ICC、IPTC、XMP、JFIF),但默认情况下不启用 IPTC,因此您需要在示例中看到的选项中启用它。