npm 如何在node js中获取图片的EXIF数据(JPG,JPEG,PNG)?

w8f9ii69  于 2023-10-19  发布在  其他
关注(0)|答案(2)|浏览(306)

我试图检索EXIF数据的图像,我想从中提取GPS相关的信息,即纬度和对数。到目前为止,我已经在npm/node - exif,exif-parser,node-exif,exifr,exif-js和其他2-3中尝试了至少4-5个EXIF包,但没有得到任何可靠的结果。他们中的大多数只支持一种文件类型(只有JPG或只有PNG)。我用eixfr得到了最好的结果-我能够提取第一个图像的数据(无论扩展名如何),但在那之后,当我用第二个图像尝试它时,它崩溃了(每次都发生)。
那么,有没有npm包可以让我用不同的扩展名(至少是PNG,JPG,JPEG)检索多个图像的EXIF数据?

k3fezbri

k3fezbri1#

通过在NodeJ中使用node-exifPackage,我们可以获得所有相关数据:-
请参阅完整用法的链接[1]:https://www.npmjs.com/package/exif

zpgglvta

zpgglvta2#

转换为js promise,以便能够与aprc/await一起使用

import exif from 'exif'

export async function getExifAsync(imgPath) {
    return new Promise(function(resolve, reject) {
        new exif.ExifImage({ image : imgPath }, function (error, exifData) {
            if (error) {
                reject(error)
            } else {
                resolve(exifData)
            }
        });
    })
}
const exifData = await getExifAsync(imgPath)
console.log(exifData)

相关问题