javascript readAsArrayBuffer возвращает пустой буфер массива
Я пытаюсь прочитать локальный файл, используя свойство readAsArrayBuffer FileReader. Чтение прошло успешно, и в обратном вызове «onload» я вижу объект Array Buffer в reader.result. Но буфер массива просто пуст. Длина установлена, но не данные. Как я могу получить эти данные?
Вот мой код
<!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
Может кто-нибудь сказать мне, как получить эти данные? есть ли проблемы с безопасностью? Нет ошибки, ошибка не выполняется.
Из комментариев: Можете ли вы дать мне знать, как получить доступ к содержимому буфера? Я на самом деле пытаюсь воспроизвести аудиофайл, используяAudioContext
... Для этого мне понадобятся данные буфера ...