ReadAsMultipartAsync эквивалентен в .NET core 2 - PullRequest
0 голосов
/ 16 мая 2018

Я переписываю приложение .net 4.5 в ядро ​​aspnet 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);
    }

Похоже, что в запросе больше не Содержимое, а тело. Что хорошо. Но как мне прочитать тело, если это MimeMultipart сейчас?

Я посмотрел в IFormFile, но разве мне не нужно что-то менять во внешнем интерфейсе?

Все, что поможет мне в правильном направлении, ценится :)

1 Ответ

0 голосов
/ 16 мая 2018

См. Загрузка файлов в 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...