我正在尝试使用 jQuery 从图像中提取 EXIF 信息。
我尝试使用在这里找到的脚本,但无法让它从外部托管的图像文件中读取 exif 数据。我在这里发布了一个简单的示例页面。代码很小,因此您可以查看源代码以查看我尝试过的内容。
有谁知道我做错了什么或者是否有其他方法可以做到这一点?
-马特
该插件通过二进制 XmlHttpRequest 再次请求图像,由于同源策略,您无法在远程域上执行此操作......浏览器在(默认情况下)分离哪些域交互方面做得很好与其他人一样,这是其中一种情况(出于安全原因)。
抱歉,答案很糟糕,但我认为您无法在远程图像上、在您无法控制的域上执行此操作。
您要么必须代理相同主机名上的图像,要么让外部主机发送适当的访问控制标头,以允许您通过 JavaScript 在其站点上请求数据。
我一直想知道人们似乎认为任何事情都可以用 javascript 完成。给定一个远程图像,您可以(应该)在服务器上下载图像并在那里进行特殊处理不是很明显吗?
另外,是什么让你认为 jQuery 可以做 javascript 做不到的事情?您正在寻找的是,最好是需要在纯 javascript 中支持的东西。
真的,在本地解析远程二进制文件?当然这是一个不错的hack,但为什么不满足于真正的/专业的解决方案,让服务器解析图像呢?
除了咆哮,JS lib 不能在远程文件上工作,而这不能用普通的 JS 来完成。
您应该在服务器上下载文件并从那里解析它。