Чтение файла из относительного пути как ArrayBuffer - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь прочитать локальный файл в ArrayBuffer, используя API-интерфейс FileReader, например,

let reader = new FileReader();

reader.onload = function(e) {
    let arrayBuffer = new Uint8Array(reader.result);
    console.log(arrayBuffer);
}

reader.readAsArrayBuffer(new File([], 'data.txt'));

Но я получаю пустой массивBuffer

Как я могу прочитать это локальный файл как ArrayBuffer в моем браузере?

Спасибо.

1 Ответ

1 голос
/ 16 января 2020

Вы не можете прочитать файл по пути через браузер. Вам нужно, чтобы пользователь взаимодействовал с файловой системой и выбирал файл, прежде чем вы сможете прочитать содержимое.

const readFile = e => {
  const file = e.target.files[0]
  let reader = new FileReader();

  reader.onload = function(e) {
      let arrayBuffer = new Uint8Array(reader.result);
      console.log(arrayBuffer);
  }

  reader.readAsArrayBuffer(file);
}

document.querySelector("#fileItem").onchange=readFile
<input id="fileItem" type="file">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...