IE10 - base64编码的图像加载错误

时间:2014-02-12 12:55:34

标签: javascript internet-explorer

在上传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,但没有成功。

任何想法为什么会发生?

1 个答案:

答案 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;