如何将文件从Angle发送到dotnet核心控制器

时间:2020-05-18 21:24:38

标签: angular .net-core file-upload

我看到了很多相关的问题,并且访问了许多问题。但是它们都没有解决问题,因为大多数解决方案都是围绕独立的文件上传逻辑进行的。在我尝试达到类似目的的过程中

Upload model with IFormFile propertis from Angular2 to ASP.NET Core WebApi

我使用的是角反应形式,在这里我将数据提交给dotnet core的控制器。直到我通过文件模块,一切都可以正常工作

user.model.ts

-> some View

服务器上的模型

ForEach(previouslyPlayed, id: \.self) { data in
    Text(data.text)
    .frame(width: 300, height: nil, alignment: data.speaker == 0 ? .center : .leading)
}

终点

export class user{

public fullName: string;
public phoneNumber: string;
// etc
//etc
public file File;

}

角度文件中的文件上传功能

public class User{

public string FullName {get; set;}

public string PhoneNumber{get; set;}

public IFormFile File {get; set;}


   }

它不起作用。.现在大多数解决方案都在建议使用FormData。.我如何能够一次使用FormData提交整个模型数据?

请有人帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您可以像这样发送整个模型

const formData = new FormData();
formData.append('fullName ', this.form.get('fullName').value);
formData.append('phoneNumber', this.form.get('phoneNumber').value);
formData.append('file', this.form.get('file').value);
this._userService.addUserService(formData).subscribe(console.log)

如果您有多个文件,则可以使用键中的[]将formData中的所有文件附加:

files.forEach((file) => {
 formData.append('file[]' , file, file.name);
}