I am uploading a file to server. I have set FileName
as custom header into my HttpRequestMessage
. I am unable to read this header on server side.
using (FileStream fs = new FileStream(file, FileMode.Open))
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:54616/");
HttpContent fileContent = new StreamContent(fs);
HttpRequestMessage httpMsg = new HttpRequestMessage(HttpMethod.Post, "Api/FileHandler");
httpMsg.Content = fileContent;
httpMsg.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
httpMsg.Content.Headers.Add("FileName", Path.GetFileName(file));
var httpTask = client.SendAsync(httpMsg).Result;
}
On Server Side:
var input = Request.Content.ReadAsStreamAsync().Result;
var allHeaders = Request.Content.Headers.GetValues("FileName").ToList();
It throws InvalidOperation exception.