exif-async 是一款用于读取图片 EXIF(Exchangeable image file format)数据的 npm 包。这种数据包括图片的拍摄时间、拍摄设备、焦距、光圈、曝光时间等信息。在前端开发中,我们常常需要读取这些信息,用于图片展示、图片搜索等场景。exif-async 可以帮助我们方便地读取这些信息。
安装
使用 npm 可以很方便地安装 exif-async:
npm install --save exif-async
使用
在代码中引入 exif-async:
const exif = require('exif-async');
读取图片的 EXIF 数据:
-- -------------------- ---- ------- --------------------- ------------ -- - ------------------ -- - ----- -------- -- ------ ------ --- ------- ----- ---- -- ------------ -- -- ------------ --- -- --- -- - -- ------------ -- - ------------------- ---
exif-async 返回一个 Promise,当读取成功时,返回一个包含图片 EXIF 信息的对象,读取失败时,返回一个 Error 对象。
读取指定的 EXIF 信息
exif-async 还支持按名称读取指定的 EXIF 信息。例如,我们要读取图片的拍摄时间信息:
exif('path/to/image', ['DateTimeOriginal']) .then((data) => { console.log(data.DateTimeOriginal); // '2019:08:22 10:08:48' }) .catch((err) => { console.error(err); });
读取多张图片的 EXIF 信息
如果需要读取多张图片的 EXIF 信息,我们可以使用 Promise.all,将多个 exif 函数的返回值组合起来:
-- -------------------- ---- ------- ------------- ----------------------- ----------------------- -- ------------- -- - ------------------- -- -- ----- -------- ------ ------ --- ------- ----- ---- --- -- ------ -- ------------ -- - ------------------- ---
注意事项
- exif-async 目前只支持读取 JPEG 格式的图片;
- 在开发环境中,读取本地图片时,路径需要使用全路径,例如:
C:\Users\userName\images\1.jpg
; - 在生产环境中,读取服务器上的图片时,路径需要使用相对路径,例如:
/images/1.jpg
。
总结
exif-async 是一款方便读取图片 EXIF 信息的 npm 包。使用 exif-async,我们可以方便地读取图片的各种信息,从而实现更多有趣的功能。希望本文能够帮助开发者更好地使用 exif-async。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60057bea81e8991b448eba6f