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
}