【发布时间】:2021-07-26 12:53:39
【问题描述】:
我正在寻找一种使用 FormData 将参数表单与文件一起附加的方法。
所以我有一个文件输入和一个带有许多参数的表单。
这是我发送文件的方式:
let formData=new FormData();
formData.append("file",<File>this.file);
这是我的表格:
this.fileForm = this.fb.group({
headline: [],
fileType: [],
fileCategory: [],
fileEssence: []
});
我尝试像这样添加表单值:
formData.append("params",this.fileForm.value);
但我在 c# 代码中找不到它:
var form= Request.Form;
只带文件对象。
还有其他方法吗?
更新:
这是我的 Angular 上传功能:
save(){
let formData=new FormData();
formData.append("file",<File>this.file);
formData.append("parameters",this.fileForm.value);
this.fileService.uploadFile(formData).subscribe((res)=>{
console.log(res);
})
}
文件服务:
uploadFile(fileUpload: any): Observable<any> {
return this.http.post(ApiConsts.uploadFile, fileUpload).pipe(
map((res: any) => res))
}
C#函数:
public IActionResult UploadFile([FromForm] FileUploadDTO parameters, [FromForm] IFormFile file)
{
}
FileUploadDTO 类:
public class FileUploadDTO
{
public FileCategory fileCategory { get; set; }
public FileEssence fileEssence { get; set; }
public FileType fileType { get; set; }
public string headline { get; set; }
}
参数 var 为空,不为空但所有值均为空。
【问题讨论】:
-
文件有哪些参数?
-
@tmsbrndz - 这是一个充满参数、整数和字符串的表单,由用户填写。
-
Angular 10 到 .Net Core Web API