gpt4 book ai didi

javascript - 无法在 'readAsBinaryString' : parameter 1 is not of type 'FileReader' 上执行 'Blob'

转载 作者:行者123 更新时间:2023-11-29 22:46:48 25 4
gpt4 key购买 nike

我正在尝试解析 xls 文件,请参见下面的文件 https://filebin.net/jm37356p8nkzgycm

获取错误

无法在“FileReader”上执行“readAsBinaryString”:参数 1 不是“Blob”类型。

这是我的代码 https://stackblitz.com/edit/react-e9zsto

handleFile = (file /*:File*/) => {
/* Boilerplate to set up FileReader */
const reader = new FileReader();
const rABS = !!reader.readAsBinaryString;
reader.onload = e => {
/* Parse data */
const bstr = e.target.result;
const wb = XLSX.read(bstr, { type: rABS ? "binary" : "array" });
/* Get first worksheet */
let arr = xslToJson(wb);
};
if (rABS) reader.readAsBinaryString(file);
else reader.readAsArrayBuffer(file);
};

最佳答案

您的handleFile 函数接收的不是文件而是事件作为参数。将其更改为如下所示:

handleFile = (e) => {
const file = e.target.files[0];
/* Boilerplate to set up FileReader */
const reader = new FileReader();
const rABS = !!reader.readAsBinaryString;
reader.onload = e => {
/* Parse data */
const bstr = e.target.result;
const wb = XLSX.read(bstr, { type: rABS ? "binary" : "array" });
/* Get first worksheet */
let arr = this.xslToJson(wb);
};
if (rABS) reader.readAsBinaryString(file);
else reader.readAsArrayBuffer(file);
};

关于javascript - 无法在 'readAsBinaryString' : parameter 1 is not of type 'FileReader' 上执行 'Blob',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58231173/

25 4 0