我正在尝试使用jQuery从图像中提取EXIF信息。
我尝试过使用我发现here的脚本,但我无法从外部托管的图像文件中读取exif数据。我发布了一个简单的示例页面here。代码很小,所以您只需查看源代码即可查看我尝试过的内容。
有没有人知道我做错了什么,或者是否还有其他方法可以做到这一点?
-Matt
答案 0 :(得分:6)
该插件通过二进制XmlHttpRequest再次请求图像,这是由于same-origin policy而你无法在远程域上执行的操作...浏览器做得非常好(默认情况下)将哪些域与其他域进行交互,这是其中一种情况(出于安全原因)。
很抱歉,答案很糟糕,但我不认为你无法在远程图像上,在你无法控制的域上执行此操作。
答案 1 :(得分:0)
您必须代理同一主机名上的图像,或让外部主机发送适当的访问控制标头,以允许您通过JavaScript在其网站上请求数据。
答案 2 :(得分:-1)
我总是想知道人们似乎认为用javascript可以做任何事情。 鉴于远程图像,您是否可以(应该)在服务器上下载图像并在那里进行特殊处理并不是很明显?
另外,是什么让你认为jQuery可以做javascript不能做的事情? 您正在寻找的是最好的,需要在普通的javascript中支持。
真的,在本地解析一个远程二进制文件?当然这是一个很好的 hack ,但为什么不解决真实/专业解决方案,让服务器解析图像?
除了Rant之外,JS lib无法处理远程文件,而且使用普通JS无法做到这一点。
您应该在服务器上下载文件并从那里解析它。