javascript - fileReader.readAsText() 抛出“FileReader”:参数 1 不是“Blob”类型
问题描述
我正在尝试读取 CSV 或 Excel 文件以将其转换为表格。现在我刚刚创建了一个类来读取输入文件:
输入是:
<input type="file" class="form-control-file" id="file_upload">
现在我刚刚创建了一个类来读取输入文件:
class InputReader_tiqet{
constructor(input_id) {
this.inputId=input_id;
this.filetoLoad=document.getElementById("file_upload").files[0];
}
readFileData(){
this.filetoLoad = document.getElementById(this.inputId).files[0];
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent){
this.fileData = fileLoadedEvent.target.result;
};
fileReader.readAsText(this.fileToLoad, "UTF-8");
}
getData(){
return this.fileData;
}
}
我按如下方式运行它:
inputReader_object= new InputReader_tiqet("file_upload");
$("#file_upload").on('change', function(){
inputReader_object.readFileData();
//clean input field
this.val("");
});
当输入文件更改时,我收到以下错误:
Uncaught TypeError: Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'.
解决方案
问题已解决:this.filetoLoad 而不是 this.fileToLoad。
推荐阅读
- scala - 用于主题标签的 Scala 正则表达式
- mysql - SELECT 任职时间最长的分行经理
- continuous-integration - 是否可以通过 Slack 消息触发 TravisCI 构建而无需启动我自己的服务器?
- foreach - ForEach 通过多个 TextField 来验证 SwiftUI 中是否为空
- excel - Excel - 如何找到具有文本的行的最大值,并且文本对应于不同表格中的数字?
- android - 将 PageController 向左对齐而不调整大小
- r - Group_by,并创建具有持续时间的新列
- xero-api - 我可以用 Xero OAuth2 身份验证的子域覆盖回调 url
- regex - 正则表达式提取字符之间的字符串并排除字符 Angular Typescript
- html - 2个Dorpdown菜单同时打开