【夜半写点啥】Hbuilder+exif.js获取照片exif信息

xiaoxiao2021-02-28  49

【概】我在H5端需要这么一个功能::本地选择图片并获取exif信息(主要是创建时间、和地点等),翻了半天Hbuilder文档,没发现这个api,于是目光转焦到强大滴exif.js上。

step1、引入文件

<script type="text/javascript" src="js/exif.js" ></script>

step2、本地选择图片文件(只要求选择文件,不拍照)。

mui.plusReady(function(){ ****** plus.gallery.pick(function(path){ console.log(path) plus.io.resolveLocalFileSystemURL(path, function(entry){ waiting("正在压缩图片 \n ...... "); src= entry.toLocalURL(); compress(src);//把获取图片信息放在了这一步上 saved=false;//隐藏按钮 $(".icon-del").hide(); $(".icon-upload").hide(); }); }); ****** })

step3、图片压缩与获取exif信息

这儿容易入坑,获取图片信息需要在图片加载完成后(论坛友人提示),不然是无法获取到图片信息滴,代码如下:

function compress(src){ src=src+''; spstr = src.split("/"); var bname=spstr[spstr.length-1];//图片名称 plus.zip.compressImage({ src:src, overwrite: true, dst:"_doc/img/"+bname, quality:15 }, function(success) { closewaiting("500");//关闭等待 var s=eval(success);//解析json数据 var imgsrc=s.target; var img=document.createElement("img");//建立图片对象 img.src=src; img.οnlοad=function(){ EXIF.getData(img,function(){//图片加载完成再获取信息 var time=EXIF.getTag(img,'DataTimgOriginal');//直接获取图片的时间,DataTimeOriginal是exif滴信息标识,就看你需要啥 }) } },function(error){ //console.log(error.message) //console.log(error.code); }) } http://code.ciaoca.com/javascript/exif-js/

如果对你有帮助的话请给个赞,没有那就putdown咯!

if it s works and helpful,just give me five
转载请注明原文地址: https://www.6miu.com/read-1450291.html

最新回复(0)