从相对路径读取文件作为ArrayBuffer

问题描述 投票:0回答:1

我正在尝试使用FileReader API将本地文件读入ArrayBuffer,就像这样

let reader = new FileReader();

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

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

但是我得到一个空的arrayBuffer

如何在浏览器中以ArrayBuffer读取此本地文件?

谢谢。

javascript filereader arraybuffer
1个回答
0
投票

您无法通过浏览器按路径名读取文件。您需要让用户与文件系统交互并选择一个文件,然后才能读取内容。

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" onchange=>
© www.soinside.com 2019 - 2024. All rights reserved.