.NET 8, httpclient und Datei -Uploads: Was fehlt mir? Erstellen von Anforderungen mit Header- und Abfragungsparams
Posted: 11 Apr 2025, 16:58
Hier ist ein .NET 4.6.2 API -Web -Client, das eine Datei hochladen - einfache Dinge: < /p>
Mein Problem ist es, eine Datei in .NET 8 mit httpclient zu hochladen. Die aktuelle Iteration meines Codes ist ungefähr so: < /p>
-Anforderung und die Anfrage httpclient vergleichen, um zu sehen, was fehlt.
Code: Select all
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);
Code: Select all
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>
Ist dies die richtige Möglichkeit, eine Datei mit Header- und Abfrageparamien zu senden? Ich möchte, dass die Datei der Parameter "Datei" ist (ich habe Iterationen dazu ohne Verfügbarkeit ausprobiert). Ich könnte die apiwebclient