我正在重写.net 4.5应用程序到aspnet core 2.0,我有一个方法,我有一些问题更新:
[HttpPut]
[Route("api/files/{id}")]
public async Task<Person> Put(int id)
{
var filesReadToProvider = await Request.Content.ReadAsMultipartAsync();
var fileStream = await filesReadToProvider.Contents[0].ReadAsStreamAsync();
return _personService.UpdatePerson(id, fileStream);
}
似乎请求不再有Content,而是body。哪个好。但是,如果它现在是MimeMultipart,我该怎么读它?
我已经研究过IFormFile,但是我不能在前端改变一些东西吗?
任何有助于我朝着正确方向发展的事情都值得赞赏:)
答案 0 :(得分:3)
请参阅File uploads in ASP.NET Core ...主要是使用流式传输上传大型文件的部分。它必须是
之类的东西var boundary = MultipartRequestHelper.GetBoundary(
MediaTypeHeaderValue.Parse(Request.ContentType),
_defaultFormOptions.MultipartBoundaryLengthLimit);
var reader = new MultipartReader(boundary, HttpContext.Request.Body);
var section = await reader.ReadNextSectionAsync();
答案 1 :(得分:1)
您可以安装https://www.nuget.org/packages/microsoft.aspnet.webapi.client
然后ReadAsMultipartAsync
将作为.NET Core 2中的扩展方法。