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 ();
}