我正在尝试使用 FileReader readAsArrayBuffer 属性读取本地文件。读取成功,在“onload”回调中,我在 reader.result 中看到了 Array Buffer 对象。但是数组缓冲区只是空的。长度已设置,但数据未设置。我如何获得这些数据?
这是我的代码
<!DOCTYPE html>
<html>
<body>
<input type="file" id="file" />
</body>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
var selFile = files[0];
var reader = new FileReader();
reader.onload = function(e) {
console.log(e.target.result);
};
reader.onerror = function(e) {
console.log(e);
};
reader.readAsArrayBuffer(selFile);
}
document.getElementById('file').addEventListener('change', handleFileSelect, false);
</script>
</html>
reader.result 的控制台输出
e.target.result
ArrayBuffer {}
e.target.result.byteLength
25312
谁能告诉我如何获取这些数据?有什么安全问题吗?没有错误,onerror没有执行。
来自评论:你能告诉我如何访问缓冲区内容吗?我实际上正在尝试使用AudioContext
...播放音频文件为此我需要缓冲区数据...