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);
}
Насколько я понимаю, он все еще читает данные формы или все еще хранится в памяти, поэтому он не может их опубликовать, мне нужно что-то закрыть или избавиться от чего-либо, но я могу видеть, где. Любая помощь приветствуется.
Спасибо