C# .net核心API文件上载在Azure上不起作用

C# .net核心API文件上载在Azure上不起作用,c#,azure,asp.net-core,.net-core,C#,Azure,Asp.net Core,.net Core,我们的控制器中有以下代码: [HttpPost("v1/item/{id}/images")] public async Task<ActionResult> UploadImage([FromRoute]string Id, [FromForm]IFormFile file) { //Upload image logic } 看起来我们不允许在Azure上以这种方式上载文件。但却找不到任何方法来实现这一目标 该项目是一个.NET Core 2.2 MVC项目,在标准Azu

我们的控制器中有以下代码:

[HttpPost("v1/item/{id}/images")]
public async Task<ActionResult> UploadImage([FromRoute]string Id, [FromForm]IFormFile file)
{
    //Upload image logic
}
看起来我们不允许在Azure上以这种方式上载文件。但却找不到任何方法来实现这一目标


该项目是一个.NET Core 2.2 MVC项目,在标准Azure Web应用程序上运行。

修复程序是按照Bercovici Adrian的建议将其更改为Request.Form.Files。因此,代码现在是:

[HttpPost("v1/item/{id}/images")]
public async Task<ActionResult> UploadImage([FromRoute]string Id)
{
    IFormFile file = Request.Form.Files[0]
    //Upload image logic
}
[HttpPost(“v1/item/{id}/images”)]
公共异步任务上载映像([FromRoute]字符串Id)
{
ifformfile file=Request.Form.Files[0]
//上传图像逻辑
}

当想要使用附加有文件的
表单时(例如
多部分请求),我们可以使用以下方式访问请求的文件:

Request.Form.Files
,表示传入表单的文件集合


所需文件将使用
OpenReadStream
方法作为流读取,然后反序列化。

由于您在控制器中,您是否尝试访问
this.Request.Form.Files
集合而不是将其作为参数获取?您上载到的路径是什么?这是
APIController
吗通过
multipart/form data
post发送文件?这是一个APIController,它作为multipart/form data发送。最后,它被上传到Blob存储中。在本地,它仍然有效。现在检查@Bercoviciarian solution以使用this.Request.Form.Files,而不是将其作为参数获取。您可以使用给定的traceId访问日志消息吗?
[HttpPost("v1/item/{id}/images")]
public async Task<ActionResult> UploadImage([FromRoute]string Id)
{
    IFormFile file = Request.Form.Files[0]
    //Upload image logic
}