在节点中写入GPS exif数据到图像中

晚上好,社区。

我有一个关于使用node.js更改jpegs上的exif元数据的问题。 我有一套坐标,我需要附加到图像文件,但由于某种原因,我无法find正确的库npm的。 有很多提取库,如exif,exif-js,no-exif等等,但所有的都是从图像中检索数据。 我将朝相反的方向,从kml文件中提取坐标/ gps数据,并基于更新没有地理位置元数据的图像。

这样做的最好方法是什么?

我写了一个库来修改客户端的exif。 它甚至可以帮助你Node.js。 https://github.com/hMatoba/piexifjs

我试图在Node.js上运行库。 没有发生错误,并得到一个新的JPEG修改EXIF。

var piexif = require("piexif.js"); var fs = required("fs"); var jpeg = fs.readFileSync(filename1); var data = jpeg.toString("binary"); var exifObj = piexif.load(data); exifObj["GPS"][piexif.GPSIFD.GPSVersionID] = [7, 7, 7, 7]; exifObj["GPS"][piexif.GPSIFD.GPSDateStamp] = "1999:99:99 99:99:99"; var exifbytes = piexif.dump(exifObj); var newData = piexif.insert(exifbytes, data); var newJpeg = new Buffer(newData, "binary"); fs.writeFileSync(filename2, newJpeg);