C# 使用FormData将参数为Angular 10的文件上载到.Net Core Web API

C# 使用FormData将参数为Angular 10的文件上载到.Net Core Web API,c#,angular,form-data,C#,Angular,Form Data,我正在寻找一种方法来附加参数的形式连同一个文件使用FormData 所以我有一个文件输入和一个有很多参数的表单 以下是我发送文件的方式: let formData=new FormData(); formData.append("file",<File>this.file); 我尝试像这样添加表单值: formData.append("params",this.fileForm.value); 但我在c代码中找不到: 只带来文件对象

我正在寻找一种方法来附加参数的形式连同一个文件使用FormData

所以我有一个文件输入和一个有很多参数的表单

以下是我发送文件的方式:

 let formData=new FormData();
 formData.append("file",<File>this.file);
我尝试像这样添加表单值:

 formData.append("params",this.fileForm.value);
但我在c代码中找不到:

只带来文件对象

还有别的办法吗

更新:

这是我在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);
})
文件上载到类:

public class FileUploadDTO
{
 
    public FileCategory fileCategory { get; set; }
    public FileEssence fileEssence { get; set; }
    public FileType fileType { get; set; }
    public string  headline { get; set; }

}

参数var为空,不是null,但所有值都为null。

formData
可以附加blob或string。 所以您可以将值附加到formData并将其发送到后端。在后端,您可以通过
FromForm
属性获取post参数

以下是我的例子:

const formData = new FormData(); 
formData.append('file', this.file);
formData.append('fileType', this.fileForm.get('fileType').value);
formData.append('fileCategory', this.fileForm.get('fileCategory').value);
在后端获取
formData

public void FormHandler([FromForm] string fileType, [FromForm] string fileCategory, [FromForm] IFormFile file){
// do the stuff
}

文件具有什么类型的参数?检查这个Answers@tmsbrndz-这是一个充满参数、整数和字符串的表单,用于填充用户.Net核心WebAPI@tmsbrndz-我尝试了public void FormHandler([FromForm]FileUploadDTO参数,[FromForm]ifformfile文件){//do the stuff},参数返回emptyPlease显示角度的完整代码service@tmsbrndz-我更新了我的问题,请检查一下,谢谢来自
文件
的地方?问题不在于带参数的文件。
   public IActionResult UploadFile([FromForm] FileUploadDTO parameters, [FromForm] IFormFile file)
    {
    }
public class FileUploadDTO
{
 
    public FileCategory fileCategory { get; set; }
    public FileEssence fileEssence { get; set; }
    public FileType fileType { get; set; }
    public string  headline { get; set; }

}
const formData = new FormData(); 
formData.append('file', this.file);
formData.append('fileType', this.fileForm.get('fileType').value);
formData.append('fileCategory', this.fileForm.get('fileCategory').value);
public void FormHandler([FromForm] string fileType, [FromForm] string fileCategory, [FromForm] IFormFile file){
// do the stuff
}