EXIF-JS

最近在开发安卓相机,EXIF老是写不进去,想看看原始数据。

参考:https://comate.baidu.com/zh/page/mhlklw3hr9v

库:exif-js

复制代码
<!DOCTYPE html>
<html>
<head>
<title>图片EXIF信息读取</title>
<script src="https://cdn.jsdelivr.net/npm/exif-js"></script>
<style>
h1 { text-align:center; }
#img { max-width:300px; max-height:300px; }
</style>
</head>
<body>
<h1>图片EXIF信息读取</h1>
<p>参考:https://comate.baidu.com/zh/page/mhlklw3hr9v,库:exif-js</p>
<input type="file" id="input_file" accept="image/*"><br>
<img id="img">
<div id="exif_data"></div>
<script>
input_file.addEventListener('change', function(e) {
	const file = e.target.files[0];
	if (!file) return;
    
    img.src = URL.createObjectURL(file);
    
    EXIF.getData(file, function() {
        const allTags = EXIF.getAllTags(this);        
                
        if (!allTags || Object.keys(allTags).length === 0) {
            output.textContent = "未检测到EXIF数据";
            return;
        }

        let result = "";
        for (const [tag, value] of Object.entries(allTags)) {
             result += `${tag}: ${JSON.stringify(value)}<br>`;			 
        }
        exif_data.innerHTML = result;
    });
});
</script>
</body>
</html>

使用【浏览器拆分视图】对比数据一目了然

相关推荐
天外飞雨道沧桑4 小时前
TypeScript 中 omit 和 record 用法
前端·javascript·typescript
暗冰ཏོ6 小时前
VUE面试题大全
前端·javascript·vue.js·面试
豹哥学前端9 小时前
事件循环(Event Loop)深度解析:让你彻底搞懂 JS 的执行顺序
前端·javascript·面试
竹林81810 小时前
用 wagmi v2 + Next.js 14 搞 NFT 交易市场前端:从合约调用失败到顺利上架,我踩了哪些坑
javascript·next.js
前端不开发10 小时前
用一个 Bookmarklet(书签脚本),给任意网页挂一个可拖拽悬浮窗
前端·javascript
接着奏乐接着舞10 小时前
【无标题】
开发语言·前端·javascript
雨雨雨雨雨别下啦10 小时前
心理健康AI助手 - 项目总结
前端·javascript·vue.js·人工智能·信息可视化
风之舞_yjf10 小时前
Vue基础(32)_TodoList案例
前端·javascript·vue.js
Amos_Web12 小时前
Rspack 源码解析 (2) —— 从 rspack build 到输出 dist,完整编译链路详解
前端·javascript
张元清12 小时前
Ref 逃生舱:用 React Hook 解决闭包陈旧、回调身份不稳和强制更新
前端·javascript·面试