问题描述
fileList: File[] = [];
listofFiles: any[] = [];
onFileChanged(event: any) {
for (var i = 0; i <= event.target.files.length - 1; i++) {
var selectedFile = event.target.files[i];
this.fileList.push(selectedFile);
this.listofFiles.push(selectedFile.name)
}
}
upload() {
const formData: any = new FormData();
formData.append('ofile',this.fileList)
console.log('form data variable : '+ formData.toString());
this._service.PostFormData(formData).subscribe(data=>{
});
}
<input type="file" (change)="onFileChanged($event)">
<input type="file" (change)="onFileChanged($event)">
<input type="file" (change)="onFileChanged($event)">
<!-- <button mat-icon-button (click)="removeSelectedFile(index)">delete</button> -->
<button (click)="upload()">Save</button>
我正在使用的核心方面
public class Test
{
// public List<IFormFile> ofile { get; set; }
public byte[] ofile { get; set; }
}
COntroller
[HttpPost]
public IActionResult GetName([FromForm]Test oTest)
{
}
解决方法
您应该foreach fileList并将文件一个接一个地添加到formData中。
upload() {
const formData: any = new FormData();
$.each(this.fileList,function (i,file) {
formData.append('ofile',file);
});
this._service.PostFormData(formData).subscribe(data=>{
});
}
型号:
public class Test
{
public List<IFormFile> ofile { get; set; }
}