我有一个运行在pixie.strd6.com的网站,图像通过Amazon S3托管,图像为CNAME for images.pixie.strd6.com.
我希望能够将这些图像绘制到HTML5画布并调用getImageData方法,但它会抛出 Error: SECURITY_ERR: DOM Exception 18
我尝试过设置window.domain = "pixie.strd6.com",但这没有效果.
此外,$.get("http://dev.pixie.strd6.com/sprites/8516/thumb.png?1293830982", function(data) {console.log(data)})还会抛出一个错误:XMLHttpRequest cannot load http://dev.pixie.strd6.com/sprites/8516/thumb.png?1293830982. Origin http://pixie.strd6.com is not allowed by Access-Control-Allow-Origin.
理想情况下,HTML5画布不会阻止getImageData来自子域的调用.我已经研究过在S3中设置Access-Control-Allow-Origin标头,但是没有成功.
非常感谢任何帮助或解决方法.
是否可以解析<img>DOM中的图像对象(),就像它已经使用FileReader上传和打开一样?我试图使用jpegmeta.js从JPEG中提取EXIF元数据,但它需要由FileReader返回的二进制字符串.
可以使用XHR从其URL加载图像并使用FileReader解析它.但是,如果每个图像必须下载两次,这将产生大量开销.另一种选择可能是使用画布,但在转换时会丢失exif数据.
输入是可变数量的URL(远程),所有链接图像资源.希望允许用户允许在一批中下载所有这些URL.由于我们讨论的是1000-2000个图像资源,要求用户单击"另存为...",因为每个URL都不可行.
我最初的尝试是将所有图像下载到blob中(如何将加载的图像读入blob?,由于同源策略不起作用),归档文件并允许用户下载(所有这些客户端)侧).
我想知道什么是可能的替代解决方案?无论解决方案是什么,它都不得涉及随时将远程资源下载到服务器.