gpt4 book ai didi

angular - 类型 'arrayBuffer' 上不存在属性 'File'

转载 作者:行者123 更新时间:2023-12-05 07:11:11 24 4
gpt4 key购买 nike

在 Angular 应用程序中实现文件上传代码时出现类型错误。我正在使用 angular 8 和 typescript 3.5.3。以下是我的代码

模板 <input type="file" id="file" (change)="handleFileInput($event.target.files)">

组件类中的函数

  handleFileInput(files: FileList): void {
files[0].arrayBuffer().then((value) => {
console.log(value);
});
}

编译时出现这个错误: error TS2339: Property 'arrayBuffer' does not exist on type 'File'.

知道如何摆脱这个错误吗?

最佳答案

出现这个错误,是因为arrayBuffer()stream()text()实际上是在类型定义中缺失的文件/Blob。但这并不是一个忽视,根据 MDN 的说法,这些方法仍然只是工作草案的一部分,并没有得到很好的支持。如果您想修补打字,仍然能够使用 arrayBuffer() 之类的功能而不会出现 typescript 提示,那么您可以使用缺少的属性扩展 File 接口(interface),即:

File {
arrayBuffer: () => Promise<ArrayBuffer>
}

引用:https://github.com/microsoft/TypeScript/issues/34652

关于angular - 类型 'arrayBuffer' 上不存在属性 'File',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60889795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com