ich hänge gerade dabei, den WebClient Request zu einem HttpClient Request zu konvertieren.
Der WebClient Request sieht wie folgt aus und funktioniert auch:
string testImagePath = @"Path.png";
WebClient client = new();
client.UploadFileCompleted += Client_UploadFileCompleted;
client.Headers.Add("Content-Type", "binary/octet-stream");
Uri address = new("API Endpunkt");
client.UploadFileAsync(address, "POST", testImagePath);
Mein Versuch mit HttpClient sieht wie folgt aus:
string testImagePath = @"Path.png";
byte[] imageBytes = File.ReadAllBytes(testImagePath);
HttpClient httpClient = new();
httpClient.DefaultRequestHeaders.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new("*/*"));
ByteArrayContent byteArrayContent = new(imageBytes);
byteArrayContent.Headers.ContentType = new("binary/octet-stream");
var resp = await httpClient.PostAsync("API Endpunkt", byteArrayContent);
var content = await resp.Content.ReadAsStringAsync();
Habt Ihr eine bessere Idee, bzw. was mache ich falsch?
Grüße und schöne Weihnachten :)
P.S.: Es handelt sich um einem Imagehoster. Die Variante mit dem WebClient liefert lediglich einen String mit der URL zu dem hochgeladenen Foto. Die Variante mit dem HttpClient liefer ebenfalls eine URL zurück, nur wenn ich diesen aufrufe, kommt ein leeres Bild vom Hoster. Quasi "Image not Found" Bild.