.Net 8, httpclient и загрузки файлов: что мне не хватает? Создание запроса с заголовками и параметрами запросовC#

Место общения программистов C#
Anonymous
 .Net 8, httpclient и загрузки файлов: что мне не хватает? Создание запроса с заголовками и параметрами запросов

Сообщение Anonymous »

Вот .net 4.6.2 API -клиент загружает файл. Простые вещи: < /p>

Код: Выделить всё

  var webClient = new ApiWebClient();
webClient.Timeout = timeout;

webClient.Headers.Add( HttpHeaderNames.CONTENT_TYPE, contentType );
webClient.Headers.Add( HttpHeaderNames.CONTENT_DISPOSITION, disp );

foreach ( var h in _headers )
webClient.Headers.Add( h.Key, h.Value );

respBytes = webClient.UploadFile( FullUrl, fileFullPath );
Моя проблема заключается в том, чтобы загрузить файл в .net 8 с Httpclient.
К сожалению, у меня нет доступа к серверу, получающему запрос, но он отправляет обратно ответ, который выглядит так, как не было прилагается файл. Текущая итерация моего кода - это примерно так: < /p>
var httpClient = GetHttpClient(); // gets from the HttpClientFactory
httpClient.Timeout = new TimeSpan( 0, 0, timeout );

var uriBuilder = BuildUriWithGets();
var req = new HttpRequestMessage( HttpVerb, uriBuilder.ToString() );
req.Headers.TryAddWithoutValidation( HttpHeaderNames.CONTENT_TYPE, contentType );
req.Headers.TryAddWithoutValidation( HttpHeaderNames.CONTENT_DISPOSITION, disp );

foreach ( var h in _headers )
request.Headers.TryAddWithoutValidation( h.Key, h.Value );

HttpResponseMessage resp;

using var requestContent = new MultipartFormDataContent();
using var fileStream = File.OpenRead( fileFullPath );
requestContent.Add( new StreamContent( fileStream ) );
req.Content = requestContent;
resp = httpClient.Send( req );
< /code>
Это правильный способ отправить файл с заголовками и параметрами запросов? Я хочу, чтобы файл был параметром «файла». (Я пробовал итерации по этому поводу безрезультатно.)
Более того, есть ли хороший способ см. Сырое сообщение, отправляемое через какой -то текстовый дамп (я запускаю это через Visual Studio). Я мог бы сравнить запрос ApiWebClient и запрос HTTPClient, чтобы увидеть, чего не хватает.

Подробнее здесь: https://stackoverflow.com/questions/794 ... st-with-he

Вернуться в «C#»