Upload File Using WebApi


Below is the method you need to add to your ApiController to catch a file upload from client.

[HttpPost]
public async Task Upload()
{
MultipartMemoryStreamProvider stream = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(stream);

// in case of multiple files uploading
foreach (HttpContent c in stream.Contents)
{
if (!string.IsNullOrEmpty(c.Headers.ContentDisposition.FileName))
{
// read file bytes and file name
string fileName = c.Headers.ContentDisposition.FileName.Replace("\"", string.Empty);
byte[] fileBytes = await c.ReadAsByteArrayAsync();
}
}

return Ok();
}
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s