【发布时间】:2012-02-13 17:36:08
【问题描述】:
我正在尝试将大文件 (3GB) 读取为 100Mb。
***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 中的已知问题吗?
【问题讨论】:
-
如果您遇到可重现的崩溃,请在new.crbug.com 提交错误并在此处发布 ID。我会确保它出现在团队面前。
-
问题已提交:问题 #114179:HTML5 FileReader API 在将大文件读取为切片时崩溃 chrome 17
-
这很有趣......我有几乎完全相同的代码,这个问题也发生在我身上。你能在这方面取得任何进展吗?
标签: html google-chrome filereader