官方api并没有关于图片exif信息提取的api,搜索各种资料无果 不过发现了一个js版本的exif.js
直接拿到小程序上并不能使用,经过修改现在可以使用。并没有太多的测试,如果有发现bug希望共同维护一下 直到官方出了可以获取exif的api
使用方法:
1,引入js
var myexif = require('../../libs/myexif.js');
2,调用handleBinaryFile()方法(方法参数是bufferArray)
wx.chooseImage({//选择图片
sizeType: ['compressed'],//图片不能经过压缩处理
success(res) {
var array = wx.getFileSystemManager().readFileSync(res.tempFilePaths[0] );;
var r =myexif.handleBinaryFile(array);
console.log(r);
}
});
百度网盘(myexif.js):
链接: https://pan.baidu.com/s/1Z84kyPHowXlgyg1czKyu7A 提取码: we9d
有bug,拍照的图片iptcdata一直是undefined
真机调试 选择图片的时候 exif(图片信息)就是丢失的,这个是微信的限制.
如果有人看到 , 留意哦
https://developers.weixin.qq.com/community/develop/doc/000a66bd8bcb28c19dde34e1051400?jumpto=comment&commentid=0002ee5b848ee0e19fde5eb2551c%3Fsource%3Dindexmixflow
只要在微信小程序拍摄或传输的图片都获取不到拍摄时间或经纬度信息,只有手机原相机拍摄的才有,这个问题可以解决吗?
请问一下,可以获取到照片的创建时间吗?我获取的iptcdata为空对象。data有数据。
可以用,很棒。
赞!正加进项目里准备改这个JS,多谢!
我也正准备用到这个,支持!
兄弟挺棒的!!!
感谢认可
兄弟,前几天使用发现了一下问题,就是开发工具上可以,在真机上就读不到了如下图,经纬度等都丢失了
开发工具上没问题
应该是你图片的问题,我这真机和开发工具都没问题,你要确保图片没有被压缩过 且包含exif信息,很多时候qq 微信传输图片都会压缩的
可以看一下magicpotato小程序 上面就是这个做的,如果不确定图片是否包含 就用手机自带的相机拍摄一个 试试
可能是这个原因,又出现了新的问题,现在手机拍摄的图片普遍比较大,一直报readFileSync:fail timeout,magicpotato小程序 也一样,这是你做的吗?,可以加个微信,这里看到有一些其他的问题,我刚解决可以分享一下