6
I need to upload a file to a WebAPI
, I am 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
Only works with Webrequest?
– novic
The idea would be with Webrequest, but if you have another code, I am open-minded rsrs
– b3r3ch1t
good posted... !!! with Webrequest did not work with me. If you can also change the title of your question!
– novic