[英]IE10 - base64-encoded image load error
After uploading 10-20 images (~2MB, one by one in the synchronous loop) IE throws an error during loading the image from base64 string. 上载10-20个图像(〜2MB,在同步循环中一个接一个)后,IE从base64字符串加载图像时会引发错误。 I have in my code something like this:
我的代码中有这样的内容:
var reader = new FileReader();
reader.onload = function (e) {
var img = new Image();
img.onload = function () { console.log('onload'); /* some simple work with canvas */ };
img.onerror = function () { console.log('onerror'); };
img.src = e.target.result;
};
reader.readAsDataURL(file);
IE throws an error after some time and do not want to load more images. IE会在一段时间后引发错误,并且不想加载更多图像。 I have tried to use
setTimeout
but without success. 我试图使用
setTimeout
但没有成功。
Any ideas why it happens? 任何想法为什么会发生?
Browsers can have some limitation on data URI size 浏览器可能对数据URI大小有一些限制
Try the URL.createObjectURL
instead 试试
URL.createObjectURL
代替
var src = URL.createObjectURL(file);
var img = new Image();
img.onload = function () {
/* some simple work with canvas */ };
URL.revokeObjectURL(src);
console.log('onload');
img.onerror = function () { console.log('onerror'); };
img.src = src;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.