2014-02-12 50 views
0

在從base64字符串加載圖像期間,IE上傳10-20張圖像(〜2MB,在同步循環中一個接一個)後引發錯誤。我在我的代碼是這樣的:IE10 - 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

瀏覽器可以對數據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;