I am trying to post API to send data to API which calls my internal API service to send that data to other API i service. Entity contains property with fil
This method works for me. You can use form data and file
public async Task<bool> Upload(FileUploadRequest model)
{
var httpClientHandler = new HttpClientHandler()
{
Proxy = new WebProxy("proxyAddress", "proxyPort")
{
Credentials = CredentialCache.DefaultCredentials
},
PreAuthenticate = true,
UseDefaultCredentials = true
};
var fileContent = new StreamContent(model.File.OpenReadStream())
{
Headers =
{
ContentLength = model.File.Length,
ContentType = new MediaTypeHeaderValue(model.File.ContentType)
}
};
var formDataContent = new MultipartFormDataContent();
formDataContent.Add(fileContent, "File", model.File.FileName); // file
formDataContent.Add(new StringContent("Test Full Name"), "FullName"); // form input
using (var client = new HttpClient(handler: httpClientHandler, disposeHandler: true))
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + tokenString);
using (var res = await client.PostAsync("http://filestorageurl", formDataContent))
{
return res.IsSuccessStatusCode;
}
}
}