在Angular 9中,FormData
对象不再具有构造函数签名。因此,您无法直接使用new FormData()
来实例化它。
解决方法是使用FormData
类的静态FormData
方法来创建FormData
对象。以下是一个示例:
// 在组件中导入FormData类
import { Component } from '@angular/core';
@Component({
selector: 'app-example',
template: `
`
})
export class ExampleComponent {
onFileSelected(files: FileList): void {
// 创建FormData对象
const formData = new FormData();
formData.append('file', files[0]);
// 执行文件上传等操作...
}
uploadFile(): void {
// 执行文件上传等操作...
}
}
在上面的示例中,我们使用new FormData()
创建了一个FormData
对象,并使用append
方法将文件添加到该对象中。然后,您可以执行文件上传等操作。
请注意,使用FormData
对象时,您需要在tsconfig.json
文件中启用lib
选项中的es2015
或更高版本。例如:
{
"compilerOptions": {
"lib": ["es2015"]
}
}
这样做是因为在旧版本的TypeScript中,FormData
构造函数签名是可用的。但在较新版本的TypeScript中,它已被删除,并且需要使用静态FormData
方法来创建FormData
对象。