Angular 文件上传:如何正确发送文件到服务器并显示进度条?
大家好!我是 Angular(版本 15)和 TypeScript 的新手,一直搞不明白文件上传。我需要做一个表单,用户选择文件(图片或 PDF),然后将其发送到服务器并显示上传进度。
我尝试过使用普通的 FormData,但出了问题。以下是我当前的组件代码:
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-upload',
template: `
<input type="file" (change)="onFileSelected($event)">
<button (click)="onUpload()">上传</button>
`
})
export class UploadComponent {
selectedFile: File | null = null;
constructor(private http: HttpClient) {}
onFileSelected(event: any) {
this.selectedFile = event.target.files[0];
}
onUpload() {
const formData = new FormData();
formData.append('file', this.selectedFile!);
this.http.post('/api/upload