1. 安装 exif 依赖包:
npm install exif-js --save
  1. 使用到的函数:
/*** 获取图片 exif 信息* image: Image
**/
export const getExifFromFile = async (image: any) => {return new Promise(resolve => {EXIF.getData(image, () => {const gpsLatitude = EXIF.getTag(image, 'GPSLatitude');const gpsLongitude = EXIF.getTag(image, 'GPSLongitude');const dateTime = EXIF.getTag(image, 'DateTime');let shootTime = null;let latitude = null;let longitude = null;if (gpsLatitude && gpsLongitude && dateTime) {latitude = changeToDu(gpsLatitude[0], gpsLatitude[1], gpsLatitude[2]);longitude = changeToDu(gpsLongitude[0], gpsLongitude[1], gpsLongitude[2]);shootTime = setCharAt(EXIF.getTag(image, 'DateTime'), [4, 7], '-');}resolve({ shootTime, latitude, longitude });});});
};
/*** 度分秒转度
**/
export const changeToDu = (h: any, m: any, s: any) => {const f = parseFloat(m) + parseFloat((s / 60).toString());return parseFloat((f / 60).toString()) + parseFloat(h);
};
/*** 替换字符串中指定字符
**/
export const setCharAt = (str: string, indexList: Array<number>, chr: string) => {let returnStr: string = str;for (let i = 0; i < indexList.length; i++) {if (indexList[i] < returnStr.length) {returnStr = returnStr.substr(0, indexList[i]) + chr + returnStr.substr(indexList[i] + 1);}}return returnStr;
};

获取 EXIF 信息中的位置信息和拍摄时间。相关推荐

  1. jquery获取元素在文档中的位置信息以及滚动条位置(转)

    jquery获取元素在文档中的位置信息以及滚动条位置 http://blog.csdn.net/qq_34095777/article/details/78750886     原文链接 原创 201 ...

  2. jdbc获取数据库元数据,获取数据库列表,获取数据库基本信息,获取指定数据库中的表信息,获取指定表中的字段信息

    jdbc获取数据库元数据 package cn.itcast.metadata.test;import org.junit.Before; import org.junit.Test;import j ...

  3. android向apk的META-INF(签名信息)中添加渠道信息

    作者:燕歆波 导读:在没有源码的情况下,为了避免重新签名,直接在签名信息中添加渠道信息; 准备好两个文件:一个空文件"channel_fhxs"没有后缀名,还有一个.prepert ...

  4. 抓取网站网页信息中的TD信息

    python 抓取某网站网页信息中的TD信息 通过用户名和密码直接登录到网站,然后下载相应的表格信息:或者直接抓取HTML页面中的table下tr的相关内容 引入代码中需要的相关库或者类 import ...

  5. Android11模拟定位开发,Android 11 中的位置信息更新

    为了进一步保护用户隐私,Android 11 增加了单次位置信息访问权限,并更改了用户授予在后台访问位置信息权限的方式.这些更新会影响到 Android 11 及更高版本上运行的所有应用. 单次访问权 ...

  6. android10位置信息,Android 11 中的位置信息更新

    为了进一步保护用户隐私,Android 11 增加了单次位置信息访问权限,并更改了用户授予在后台访问位置信息权限的方式.这些更新会影响到 Android 11 及更高版本上运行的所有应用. 单次访问权 ...

  7. Android开发获取当前经纬度和详细位置信息(原生代码实现)简单案例

    文章目录 Android定位(经纬度+当前位置信息) 申请权限 LocationManage位置管理器 完整代码 Android定位(经纬度+当前位置信息) 我相信大家在Android开发中应该都有遇 ...

  8. PiaolinPlatformV2.0.0 - 获取手机或电脑GPS位置信息(定位平台)

    前言 飘零定位平台于 2019/02/07 正式上线第一代(地址:https://blog.csdn.net/piaolin_ying/article/details/86772610),上线后反响良 ...

  9. 获取手机或电脑GPS位置信息(定位平台)

    获取GPS定位平台 原理: javascript访问手机GPS位置信息 链接: http://14.18.103.46:8000/location/index (电信某云无法直接开启80端口,坑 ̄へ ̄ ...

最新文章

  1. 看有道难题比赛有恶心感 ,付源码挑战,博客园目前纯速度最快。
  2. SQLServer2000同步复制技术实现步骤(收藏)
  3. ArrayList,Vector, LinkedList的存储性能和特性?
  4. Linux下找不到动态链接库
  5. 线性模型(1) —— 多元线性回归
  6. openshift用户管理_OpenShift Express Web管理控制台:入门
  7. jquery ajax 异步分页,jquery 分页 Ajax异步
  8. php如何打印程序运行时间,php计算程序运行时间的简单实例 - microtime
  9. pycharm专业版的破解
  10. 64位win10系统中无法开启vmware的VT-X嵌套虚拟化功能的解决方法
  11. killer Linux驱动下载,The Linux Killer
  12. 缺陷管理工具-QC篇
  13. sdutacm-小雷的冰茶几
  14. 设置 VMware 虚拟网络编辑器
  15. vue实现变态表格表头和列固定
  16. scrapy学习笔记——HTML页面解析
  17. java面向对象模拟电梯_面向对象的程序设计-电梯调度系统的设计、优化与测试...
  18. 忘记linux里mysql账号密码忘记_Linux下MySQL忘记root用户密码
  19. android 跳过检查,绕过安卓应用检测项
  20. 预测赢家_云的赢家和输家?

热门文章

  1. 批量导出JIRA单时选择“HTML”,这样才能导出经办人员姓名
  2. QQ 会员亿级 Web 系统的容错性建设实践
  3. Audacity分析浊音清音爆破音的时域和频域波形图
  4. polkadot区块链浏览器
  5. L1-069 胎压监测 (15 分)-PAT 团体程序设计天梯赛 GPLT
  6. Android数据库加密与破解(Xposed hook SQLCipher 密码)
  7. 【手记】如果Idx/Sub字幕导不进MKVToolNix,看看是否这个原因
  8. 服务器屏幕显示超出显示范围怎么办,win10 显示器频率超出范围怎么办_win10显示器频率超出范围怎么解决-win7之家...
  9. JS中 innerHTML
  10. JAVA字符编码问题的阐释(以ANSI方式存储文件)