Upload File Using WebApi

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

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();

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 )

Connecting to %s