获取 EXIF 信息中的位置信息和拍摄时间。
- 安装 exif 依赖包:
npm install exif-js --save
- 使用到的函数:
/*** 获取图片 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 信息中的位置信息和拍摄时间。相关推荐
- jquery获取元素在文档中的位置信息以及滚动条位置(转)
jquery获取元素在文档中的位置信息以及滚动条位置 http://blog.csdn.net/qq_34095777/article/details/78750886 原文链接 原创 201 ...
- jdbc获取数据库元数据,获取数据库列表,获取数据库基本信息,获取指定数据库中的表信息,获取指定表中的字段信息
jdbc获取数据库元数据 package cn.itcast.metadata.test;import org.junit.Before; import org.junit.Test;import j ...
- android向apk的META-INF(签名信息)中添加渠道信息
作者:燕歆波 导读:在没有源码的情况下,为了避免重新签名,直接在签名信息中添加渠道信息; 准备好两个文件:一个空文件"channel_fhxs"没有后缀名,还有一个.prepert ...
- 抓取网站网页信息中的TD信息
python 抓取某网站网页信息中的TD信息 通过用户名和密码直接登录到网站,然后下载相应的表格信息:或者直接抓取HTML页面中的table下tr的相关内容 引入代码中需要的相关库或者类 import ...
- Android11模拟定位开发,Android 11 中的位置信息更新
为了进一步保护用户隐私,Android 11 增加了单次位置信息访问权限,并更改了用户授予在后台访问位置信息权限的方式.这些更新会影响到 Android 11 及更高版本上运行的所有应用. 单次访问权 ...
- android10位置信息,Android 11 中的位置信息更新
为了进一步保护用户隐私,Android 11 增加了单次位置信息访问权限,并更改了用户授予在后台访问位置信息权限的方式.这些更新会影响到 Android 11 及更高版本上运行的所有应用. 单次访问权 ...
- Android开发获取当前经纬度和详细位置信息(原生代码实现)简单案例
文章目录 Android定位(经纬度+当前位置信息) 申请权限 LocationManage位置管理器 完整代码 Android定位(经纬度+当前位置信息) 我相信大家在Android开发中应该都有遇 ...
- PiaolinPlatformV2.0.0 - 获取手机或电脑GPS位置信息(定位平台)
前言 飘零定位平台于 2019/02/07 正式上线第一代(地址:https://blog.csdn.net/piaolin_ying/article/details/86772610),上线后反响良 ...
- 获取手机或电脑GPS位置信息(定位平台)
获取GPS定位平台 原理: javascript访问手机GPS位置信息 链接: http://14.18.103.46:8000/location/index (电信某云无法直接开启80端口,坑 ̄へ ̄ ...
最新文章
- 看有道难题比赛有恶心感 ,付源码挑战,博客园目前纯速度最快。
- SQLServer2000同步复制技术实现步骤(收藏)
- ArrayList,Vector, LinkedList的存储性能和特性?
- Linux下找不到动态链接库
- 线性模型(1) —— 多元线性回归
- openshift用户管理_OpenShift Express Web管理控制台:入门
- jquery ajax 异步分页,jquery 分页 Ajax异步
- php如何打印程序运行时间,php计算程序运行时间的简单实例 - microtime
- pycharm专业版的破解
- 64位win10系统中无法开启vmware的VT-X嵌套虚拟化功能的解决方法
- killer Linux驱动下载,The Linux Killer
- 缺陷管理工具-QC篇
- sdutacm-小雷的冰茶几
- 设置 VMware 虚拟网络编辑器
- vue实现变态表格表头和列固定
- scrapy学习笔记——HTML页面解析
- java面向对象模拟电梯_面向对象的程序设计-电梯调度系统的设计、优化与测试...
- 忘记linux里mysql账号密码忘记_Linux下MySQL忘记root用户密码
- android 跳过检查,绕过安卓应用检测项
- 预测赢家_云的赢家和输家?
热门文章
- 批量导出JIRA单时选择“HTML”,这样才能导出经办人员姓名
- QQ 会员亿级 Web 系统的容错性建设实践
- Audacity分析浊音清音爆破音的时域和频域波形图
- polkadot区块链浏览器
- L1-069 胎压监测 (15 分)-PAT 团体程序设计天梯赛 GPLT
- Android数据库加密与破解(Xposed hook SQLCipher 密码)
- 【手记】如果Idx/Sub字幕导不进MKVToolNix,看看是否这个原因
- 服务器屏幕显示超出显示范围怎么办,win10 显示器频率超出范围怎么办_win10显示器频率超出范围怎么解决-win7之家...
- JS中 innerHTML
- JAVA字符编码问题的阐释(以ANSI方式存储文件)