Sending a File using HttpClient in CSharp
C# - How to send a file with HttpClient | MAKOLYTE
Sending a Byte Array
If you already have a byte array, and don’t need to load the file as a file stream, then you can use ByteArrayContent instead of StreamContent. Here’s an example:
using (var multipartFormContent = new MultipartFormDataContent()) {
//Add the file as a byte array
var byteContent = new ByteArrayContent(fileBytesFromDatabase);
byteContent.Headers.ContentType = new MediaTypeHeaderValue("image/png");
multipartFormContent.Add(byteContent, name: "file", fileName: "house.png");
//Send it
var response = await httpClient.PostAsync("https://localhost:12345/files/", multipartFormContent);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync();
}