C# Многочастная проверка файла FormData

Кажется, я немного застрял, пытаясь понять, как выполнить проверку размера файла и т. Д. Перед публикацией в другом API. Когда я выполняю ReadAsMultipartAsync, кажется, что он блокирует вызов API, и я получаю сообщение об ошибке.

Msgstr "Невозможно закрыть поток, пока не будут записаны все байты."

Вот пример моего кода

 public async Task<HttpResponseMessage> Post() {

        if (!Request.Content.IsMimeMultipartContent())
        {
            throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
        }

        var formdata = await Request.Content.ReadAsMultipartAsync(new MultipartMemoryStreamProvider());

        IList<HttpContent> files = formdata.Contents;

        foreach (var file in files) {

          var length = file.Headers.ContentLength;

          // throw error if too large
        }

        // All good send the file to API
        var mediaEndpoint = new Uri(new Uri(config.ApiUri), "/media/files");

        var request = new HttpRequestMessage(HttpMethod.Post, mediaEndpoint);

        request.Content = Request.Content;

        return await _httpClient.SendAsync(request);
}

Насколько я понимаю, он все еще читает данные формы или все еще хранится в памяти, поэтому он не может их опубликовать, мне нужно что-то закрыть или избавиться от чего-либо, но я могу видеть, где. Любая помощь приветствуется.

Спасибо

0 ответов

Другие вопросы по тегам