.NET核心2中的ReadAsMultipartAsync equialent

时间:2018-05-16 10:48:56

标签: c# asp.net-core

我正在重写.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,但是我不能在前端改变一些东西吗?

任何有助于我朝着正确方向发展的事情都值得赞赏:)

2 个答案:

答案 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)