.NET Core 2中的ReadAsMultipartAsync等价

Mod*_*man 9 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);
    }
Run Code Online (Sandbox Code Playgroud)

似乎请求不再具有Content,而是正文。没关系 但是,如果现在是MimeMultipart,如何读取身体?

我已经研究了IFormFile,但是我不必在前端进行更改吗?

任何能帮助我朝正确方向发展的方法都值得赞赏:)

Rah*_*hul 9

请参阅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();
Run Code Online (Sandbox Code Playgroud)