在Angular中,可以使用FormData对象来上传多个文件。以下是一个示例解决方法:
onFileSelected(event: any) {
this.selectedFiles = event.target.files;
}
onUpload() {
const formData = new FormData();
for (let i = 0; i < this.selectedFiles.length; i++) {
formData.append('files', this.selectedFiles[i]);
}
// 发送HTTP请求上传文件
this.http.post('/upload', formData).subscribe(response => {
console.log(response);
});
}
在onFileSelected方法中,我们使用event.target.files来获取用户选择的文件。然后,在onUpload方法中,我们创建了一个FormData对象,并使用append方法将每个文件添加到FormData对象中。最后,我们使用HttpClient的post方法发送HTTP请求,将FormData对象作为请求体传递给服务器。
import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
HttpClientModule
],
...
})
export class AppModule { }
这样,我们就可以使用HttpClient来发送HTTP请求。
请注意,上述代码仅用于演示目的,实际使用时可能需要根据自己的项目需求进行适当的调整,例如添加错误处理、进度条等功能。
上一篇:Angular上传并返回主页
下一篇:Angular上传多个文件的问题