我应该使用IFormFile上传ASP.NET Core API中的文件

时间:2016-10-20 08:41:29

标签: asp.net file-upload asp.net-core asp.net-core-mvc iformfile

我可以理解使用IFormFile在MVC Web应用程序中上传文件,但在编写支持Swagger的API时,使用ASP.NET Core上传文件的正确方法是什么?

使用IFormFile

[HttpPost("{id}/content", Name ="PostZipFile")]
[Consumes("application/zip")]
public Task<IActionResult> PostZipFile(int id, [FromBody] IFormFile zipFile)
{
}

使用Body.Stream

[HttpPost("{id}/content", Name ="PostZipFile")]
[Consumes("application/zip")]
public Task<IActionResult> PostZipFile(int id)
{
    this.Response.Body.Stream
}

1 个答案:

答案 0 :(得分:2)

试试这个:

[HttpPost("{id}/content", Name ="PostZipFile")]
public Task<IActionResult> PostZipFile(int id,IFormFile zipFile)
{
}

并确保在客户端,表单操作或Ajax请求具有:encoding type= "multipart/form-data"