我们的控制器中包含以下代码:
@Service
public class EndUserService extends UserService {
@Autowired
public EndUserService(final VerificationTokenRepository verificationTokenRepository, final EndUserDisambiguator userDisambiguator) {
super(verificationTokenRepository, userDisambiguator);
}
...
}
此代码在本地的工作方式与我们期望的一样。将其放在Azure上时,会收到以下响应。
[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 App上运行。
答案 0 :(得分:1)
当要使用附加了文件的Forms
(例如multipart
请求)时,我们可以使用以下方法访问请求的文件:
Request.Form.Files
,代表传入表单的文件集合。
所需的文件将使用OpenReadStream
方法作为流读取,然后反序列化。
答案 1 :(得分:0)
解决方法是按照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
}