HTML code:
<form action="api/MyAPI" method="post" enctype="multipart/form-data"> <label for="somefile">File</label> <input name="somefile" type="file" /> <input type="submit" value="Submit" /> </form>
controller
// POST api/MyAPI public HttpResponseMessage Post() { HttpResponseMessage result = null; var httpRequest = HttpContext.Current.Request; if (httpRequest.Files.AllKeys[0] == "image") { if (httpRequest.Files.Count > 0) { var docfiles = new List<string>(); foreach (string file in httpRequest.Files) { var postedFile = httpRequest.Files[file]; var filePath = HttpContext.Current.Server.MapPath("~/Images/" + postedFile.FileName); postedFile.SaveAs(filePath); docfiles.Add(filePath); } result = Request.CreateResponse(HttpStatusCode.Created, docfiles); } } else { result = Request.CreateResponse(HttpStatusCode.BadRequest); } return result; }
try the link below
This link is used for me, I hope it works.
http://www.asp.net/web-api/overview/advanced/sending-html-form-data,-part-2
source share