【发布时间】:2015-01-19 14:02:10
【问题描述】:
我正在评估使用 Canvas 的移动网络应用程序的图像上传技术。症结在于在客户端读取 EXIF 数据。 Other discussions on this site 指向优秀的 Blueimp JavaScript Image Load。我特别想从EXIF中提取:
- 拍照日期和时间
- 地理定位 - 拍摄照片的纬度和经度
使用在 iPhone 上拍摄的照片(带有地理数据)在 Windows Vista 上的 Firefox v.33.1 上测试 Blueimp 脚本,它成功提取了所有 EXIF 数据,包括日期、时间和地理坐标。在 iOS 上使用 same 照片运行 same 测试,它只提取少量的 EXIF 数据 - 只是尺寸和方向(我使用的是 iPhone 5、iOS 8.1 ), 没有其他的。为什么是这样? 是否有推荐的修复或替代 JavaScript EXIF 提取工具?
非常感谢地收到建议,因为这让我很头疼!提前致谢。
请注意:我不想在服务器端使用 PHP,因为这需要上传完整的图像,这在移动带宽上可能会很慢,因此使用 canvas 选项来调整图像客户端的大小.
【问题讨论】:
-
对 Blueimp 脚本的进一步测试:使用三星 Galaxy Android 手机和诺基亚 Windows 也成功提取了完整的 EXIF 数据。只有iphone是问题。谜团加深。
-
深入挖掘,我现在正在测试 EXIF-JS the JavaScript library for reading EXIF image metadata。在 iPhone 上,它似乎可以在嵌入图像上正常工作,但图像上传也会出现同样的问题。可能与iOS上的文件路径有关?
-
另一个 JS 库是 JSJPEGmeta - iOS 上的有趣结果,提取了更广泛的图像元数据,但仍然缺乏 GPS 数据。为什么 iPhone 无法读取这部分数据?
标签: javascript ios client-side exif