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>

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

相关推荐
用户8471810541912 分钟前
LangChain中间件教程及DeepAgents应用
javascript·agent
huabuyu16 分钟前
INP 自动化归因与自愈:如何自动定位、修复并验证一次卡顿
前端·javascript
BreezeJiang24 分钟前
浏览器里的 DeepSeek 到底怎么跑起来?关键在 Worker、缓存和流式消息
javascript
BreezeJiang27 分钟前
单例模式真正解决的不是“只能 new 一次”,而是统一资源入口
javascript
小林ixn30 分钟前
WebGPU + Transformers.js:把 DeepSeek-R1 塞进浏览器,真香!
javascript·llm·gpu
xiaominlaopodaren31 分钟前
three.js地图数学基础(四):瓦片金字塔
javascript·gis·three.js
mONESY37 分钟前
🔥 React Hooks 进阶实战:受控组件 + 性能优化一站式掌握
javascript
Synmbrf41 分钟前
flv播放设置hasAudio为true黑屏
javascript
看到我请叫我铁锤1 小时前
vue编写web端在线预览文档
前端·javascript·vue.js
ssshooter1 小时前
为什么明明只有一个 12px 的小元素,父容器却有 63px 高?
前端·javascript·面试