可能的重复:
如何将图像对象转换为二进制 blob https://stackoverflow.com/questions/13375333/how-to-convert-an-image-object-to-a-binary-blob
我在加载远程图像时面临同源策略限制。然而,DOM 0 Image 对象可用于加载远程资源(这本质上与创建一个<img />
tag).
var fr = new FileReader(),
img = new Image();
img.src = 'http://distilleryimage8.s3.amazonaws.com/6cf25568491a11e2af8422000a9e28e9_7.jpg';
img.onload = function () {
// how to get this image as a Blob object?
};
有没有办法将此资源读入 Blob/arraybuffer 对象?这不是重复的如何将图像对象转换为二进制 blob https://stackoverflow.com/questions/13375333/how-to-convert-an-image-object-to-a-binary-blob因为后者不会因同源问题而出现。
在我看来,这可以在没有太多痛苦的情况下完成......
您只需要再添加一个 HTML5 元素。使用时canvas
您可以在其上绘制远程图像。之后获取图像 dataUrl 就非常容易了,您可以从 canvas API 获得这样的功能。下一步是使用 FileReaderreadAsDataURL
方法。
我没有尝试过,但理论上它应该有效。
- 编辑:这不会起作用。如果图像来自不同来源,则不能使用画布
toDataURL
方法。所以我认为没有服务器端就没有任何解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)