javascript - FileReader.readAsArrayBuffer 返回为空

标签 javascript html fileapi

我正在学习 Html5rocks 教程

http://www.html5rocks.com/en/tutorials/file/dndfiles/

我正在尝试使用 readAsArrayBuffer 而不是 readAsBinaryString 来切片文件示例(因为我想读取 gif header 以找到文件分辨率)。但我被卡住了,因为 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]

在控制台日志上:未定义

在 Chromium 18 中,我进入控制台:Uncaught TypeError: Cannot read property 'byteLenght' of null

最佳答案

输入错误:

console.log(evt.target.result.byteLenght)

byteLength 应该是 byteLength

关于javascript - FileReader.readAsArrayBuffer 返回为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11090659/

相关文章:

javascript - 如何让图片加载到同一页面而不是新页面上

javascript - 如何在 JavaScript 中的浏览器中检查 pdf 文件是否为美国法律或美国信函格式

javascript - 文件读取器异步加载文件后获取文件名

javascript - 在 InDesign CS6 中选择组内的文本框架

html - 进度条条纹

javascript - 在 Kendo UI Window 控件中解析 JSON

javascript - (jQuery) 在移动设备上调用函数,但 jQuery 动画不起作用

ios - 如何通过phonegap build使用iTunes文件导入/导出功能

javascript - Node - 如何将连续的 HTTP 响应发送回客户端

javascript - 如何通过单击另一个图表的元素来打开 Kibana 图表