【发布时间】:2025-11-27 11:50:02
【问题描述】:
我正在尝试以角度读取用户上传的 xml 文件。以下是我的代码:
组件.ts:
convertFileToString(event){
this.uploadXML=event.target.files[0];
let fileReader = new FileReader();
fileReader.onload = (event) =>{this.finalUploadedXML=fileReader.result as String}
fileReader.readAsText(this.uploadXML);
console.log("The contents are:")
console.log(this.finalUploadedXML);
}
index.html
<input type="file" id="uploadInput" (change)="convertFileToString($event)" hidden>
但是当我运行这段代码时,它给了我以下错误:
Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'
我还将readAsText(this.uploadXML) 修改为readAsText(this.uploadXML.asInstanceOf[Blob]),但似乎asInstanceOf 不是文件类型的已知属性。所以我尝试将uploadXML 的类型从File 更改为Blob,但错误仍然存在。我该怎么办?
【问题讨论】:
-
event.target.files.item(0) -
@ritaj 不会改变任何东西。那仍然会获取文件数组的第一项。
标签: angular typescript filereader