在上传10-20张图像(~2MB,在同步循环中逐个)后,IE会在从base64字符串加载图像时抛出错误。我的代码中有这样的东西:
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在一段时间后抛出错误,并且不想加载更多图像。我试图使用setTimeout
,但没有成功。
任何想法为什么会发生?
答案 0 :(得分:1)
浏览器可能会对数据URI大小有一些限制
尝试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;