我正在关注Html5rocks教程
http://www.html5rocks.com/en/tutorials/file/dndfiles/
我试图在切片文件示例时使用readAsArrayBuffer而不是readAsBinaryString(因为我想读取gif头来查找文件解析)。但我被卡住了,因为evt.target.result(使用readAsBinaryString时它是一个字符串)
任何想法?
编辑:代码
reader.onloadend = function(evt)
{
if (evt.target.readyState == FileReader.DONE) { // DONE == 2
document.getElementById('byte_content').textContent = evt.target.result;
console.log(evt.target.result.byteLenght)
document.getElementById('byte_range').textContent =
['Read bytes: ', start + 1, ' - ', stop + 1,
' of ', file.size, ' byte file'].join('');
}
};
if (file.webkitSlice) {
var blob = file.webkitSlice(start, stop + 1);
} else if (file.mozSlice) {
var blob = file.mozSlice(start, stop + 1);
}
reader.readAsArrayBuffer(blob);
}
所以在Firefox 13中,我进入屏幕:[object ArrayBuffer]
并在控制台日志上:undefined
在Chromium 18中我进入控制台:Uncaught TypeError:无法读取属性'byteLenght'的null
答案 0 :(得分:5)
输入错误:
console.log(evt.target.result.byteLenght)
byteLenght
应为byteLength