Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该使用IFormFile在ASP.NET核心API中上载文件吗_Asp.net_File Upload_Asp.net Core_Asp.net Core Mvc_Iformfile - Fatal编程技术网

我应该使用IFormFile在ASP.NET核心API中上载文件吗

我应该使用IFormFile在ASP.NET核心API中上载文件吗,asp.net,file-upload,asp.net-core,asp.net-core-mvc,iformfile,Asp.net,File Upload,Asp.net Core,Asp.net Core Mvc,Iformfile,我可以理解使用ifformfile在MVC web应用程序中上载文件,但在编写支持Swagger的API时,使用ASP.NET Core上载文件的正确方法是什么 带文件 [HttpPost(“{id}/content”,Name=“PostZipFile”)] [使用(“应用程序/zip”)] 公共任务PostZipFile(int id,[FromBody]IFormFile zipFile) { } 使用Body.Stream [HttpPost(“{id}/content”,Name=“

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

带文件
[HttpPost(“{id}/content”,Name=“PostZipFile”)]
[使用(“应用程序/zip”)]
公共任务PostZipFile(int id,[FromBody]IFormFile zipFile)
{
}
使用Body.Stream
[HttpPost(“{id}/content”,Name=“PostZipFile”)]
[使用(“应用程序/zip”)]
公共任务PostZipFile(int-id)
{
this.Response.Body.Stream
}
试试这个:

[HttpPost("{id}/content", Name ="PostZipFile")]
public Task<IActionResult> PostZipFile(int id,IFormFile zipFile)
{
}
[HttpPost(“{id}/content”,Name=“PostZipFile”)]
公共任务PostZipFile(int id,IFormFile zipFile)
{
}

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

它仍然适用于WebApi样式的控制器。在ASP.NET内核中,两者都统一在一个API中。您只需要发送带有
多部分/表单数据
编码类型的ajax post请求嘿,您认为哪种方法最好?我缺少enctype:
[HttpPost("{id}/content", Name ="PostZipFile")]
[Consumes("application/zip")]
public Task<IActionResult> PostZipFile(int id)
{
    this.Response.Body.Stream
}
[HttpPost("{id}/content", Name ="PostZipFile")]
public Task<IActionResult> PostZipFile(int id,IFormFile zipFile)
{
}