【问题标题】:Should I use IFormFile to Upload Files in ASP.NET Core API我应该使用 IFormFile 在 ASP.NET Core API 中上传文件吗
【发布时间】:2018-09-16 23:25:31
【问题描述】:

我可以理解使用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
}

【问题讨论】:

  • 它仍然适用于 WebApi-esque 控制器。在 ASP.NET Core 中,两者都统一在一个 API 中。你只需要发送带有multipart/form-data编码类型的ajax post请求
  • 嘿,你认为哪种方法最好?

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


【解决方案1】:

试试这个:

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

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

【讨论】:

  • 我缺少 enctype:
猜你喜欢
  • 2021-12-09
  • 1970-01-01
  • 2022-07-01
  • 2021-08-02
  • 2022-07-06
  • 2018-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多