How would i go about using \[code\]MultipartFormDataStreamProvider\[/code\] and \[code\]Request.Content.ReadAsMultipartAsync\[/code\] in a \[code\]ApiController\[/code\]?I have googled a few tutorial but i can't get any of them to work, im using .net 4.5.This is what i currently got:\[code\]public class TestController : ApiController{ const string StoragePath = @"T:\WebApiTest"; public void Post() { if (Request.Content.IsMimeMultipartContent()) { var streamProvider = new MultipartFormDataStreamProvider(Path.Combine(StoragePath, "Upload")); var task = Request.Content.ReadAsMultipartAsync(streamProvider); task.ContinueWith(t => { if (t.IsFaulted || t.IsCanceled) throw new HttpResponseException(HttpStatusCode.InternalServerError); }); if (task.IsFaulted || task.IsCanceled) { throw new HttpResponseException(HttpStatusCode.InternalServerError); } foreach (MultipartFileData fileData in streamProvider.FileData) { if (string.IsNullOrEmpty(fileData.Headers.ContentDisposition.FileName)) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "This request is not properly formatted")); } string fileName = fileData.Headers.ContentDisposition.FileName; if (fileName.StartsWith("\"") && fileName.EndsWith("\"")) { fileName = fileName.Trim('"'); } if (fileName.Contains(@"/") || fileName.Contains(@"\")) { fileName = Path.GetFileName(fileName); } File.Copy(fileData.LocalFileName, Path.Combine(StoragePath, fileName)); } } else { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "This request is not properly formatted")); } }}\[/code\]but it seems that t.IsFaulted is true inside the ContinueWith..Does any one have any idea what i am doing wrong or have a working example in a normal asp.net project using web api.