Код: Выделить всё
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 );
К сожалению, у меня нет доступа к серверу, получающему запрос, но он отправляет обратно ответ, который выглядит так, как не было прилагается файл. Текущая итерация моего кода - это примерно так: < /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