我正在使用HTML5 FileReader讀取本地文件。然後我想在上傳到服務器之前立即在瀏覽器中顯示文件內容。帶有base64數據內容的HTML5 Object標記導致Chrome崩潰
我讀的文件,並試圖顯示,如下所示:
var reader = new FileReader();
reader.onloadend = function() {
_moleculefilestream = reader.result;
_molecule.filename = filelist[0].name;
var filetype = _molecule.filename.substring(_molecule.filename.length - 3);
var html = '';
if (filetype == 'jpg' || filetype == 'gif' || filetype == 'png' || filetype == 'tif' || filetype == 'bmp') {
html += '<img src="' + reader.result + '" />';
}
else {
html += '<object id="zzzxxx" data="' + reader.result + '"';
if (filetype.toLowerCase() == 'pdf') {
// For pdf docs, specify a height and width
html += ' width="770" height="350"';
}
html += '>';
html += '</object>';
}
alert('we get here fine');
$('#molecule-docviewer').html(html);
alert('we have crashed by this point');
MarkMoleculeAsDirty();
}
reader.readAsDataURL(filelist[0]);
當我在Chrome上傳PDF高達約有1.5Mb,這一切工作正常。當我嘗試上傳1.5Mb或更高版本時,Chrome(V15)以「aw snap」消息崩潰。它顯示「我們在這裏很好」的消息,但在下面的行中崩潰。
任何人有任何關於如何解決或解決方法的明智想法?謝謝。
我建議你在Chromium問題跟蹤文件,這並要求幫助那裏 - 也許開發者更好地瞭解 –
破天一樣對我來說,這似乎是相關的渲染引擎。您是否偶然向Chromium開發團隊發佈了錯誤? – Chubas