I need to upload a file to WebAPI
, I'm using the following code to upload
public void Enviar()
{
WebRequest request = WebRequest.Create(url);
request.Method = "POST";
byte[] byteArray = File.ReadAllBytes(fileName);
request.ContentType = "multipart/form-data";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
reader.Close();
dataStream.Close();
response.Close();
}
In WebAPI I have the following code:
public async Task<HttpResponseMessage> Post()
{
if (!Request.Content.IsMimeMultipartContent("form-data"))
return new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
var streamProvider =
new MultipartFormDataStreamProvider(".");
await Request.Content.ReadAsMultipartAsync(streamProvider);
var fileNames = streamProvider.BodyPartFileNames;
foreach (var fileName in fileNames.Keys)
Console.WriteLine(fileName + " --> " + fileNames[fileName]);
return new HttpResponseMessage(HttpStatusCode.Created);
}
When I run, I'm always getting
HttpStatusCode.UnsupportedMediaType