我試圖讀取大文件(3GB)作爲100Mb的片。當閱讀大文件時,HTML5 FileReader API崩潰了chrome 17
***function sliceMe() {
var file = document.getElementById('files').files[0],
fr = new FileReader;
var chunkSize = document.getElementById('txtSize').value;
chunkSize =1048576;
var chunks = Math.ceil(file.size/chunkSize);
var chunk = 0;
document.getElementById('byte_range').innerHTML = "";
function loadNext() {
var start, end,
blobSlice = File.prototype.mozSlice || File.prototype.webkitSlice;
start = chunk * chunkSize;
if (start > file.size)
start = end+1;
end = start + (chunkSize -1) >= file.size ? file.size : start + (chunkSize -1);
fr.onload = function(e) {
if (++chunk <= chunks) {
document.getElementById('byte_range').innerHTML += chunk + " " +
['Read bytes: ', start , ' - ', end,
' of ', file.size, ' byte file'].join('')+"<br>";
//console.info(chunk);
loadNext(); // shortcut here
}
};
fr.readAsArrayBuffer(blobSlice.call(file, start, end));
}
loadNext();
}***
上面的代碼工作預期在Firefox和Chrome瀏覽器16,但在Chrome 17 & 18dev版本,讀取1GB數據瀏覽器崩潰了。
它在Chrome 17中是否已知問題?
如果您有可重現的崩潰,請在http://new.crbug.com/上提交錯誤並在此處張貼ID。我會確保它在團隊面前。 – 2012-02-14 08:52:37
問題已提交:問題#114179:\t HTML5 FileReader API在將大文件作爲扇區片段 – Joe 2012-02-14 14:45:58
後續處理時,崩潰了Chrome 17。謝謝! – 2012-02-14 15:22:34