我正在尝试使用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读取此本地文件?
谢谢。
答案 0 :(得分:3)
您无法通过浏览器按路径名读取文件。您需要让用户与文件系统交互并选择一个文件,然后才能读取内容。
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">