在Angular表单数组中进行文件上传可以遵循以下步骤:
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
@Component({
selector: 'app-file-upload',
templateUrl: './file-upload.component.html',
styleUrls: ['./file-upload.component.css']
})
export class FileUploadComponent {
myFormGroup: FormGroup;
filesArray: FormArray;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.myFormGroup = this.formBuilder.group({
filesArray: this.formBuilder.array([this.createFileControl()])
});
this.filesArray = this.myFormGroup.get('filesArray') as FormArray;
}
createFileControl(): FormGroup {
return this.formBuilder.group({
'file-control': ['']
});
}
}
onFileChange(event, index) {
let fileList: FileList = event.target.files;
if (fileList.length > 0) {
let file: File = fileList[0];
let formData: FormData = new FormData();
formData.append('file', file, file.name);
let headers = new HttpHeaders();
// Set headers etc. as needed
// Send file to server using http.post or whatever method you prefer
// For example:
this.http.post('/api/upload', formData, { headers: headers }).subscribe(
response => {
// Handle server response as needed
},