public HttpResponseMessage Index() { Common common = new Common(); if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } if (System.Web.HttpContext.Current.Request.Files.Count > 0) { var file = System.Web.HttpContext.Current.Request.Files[0]; if (MimeMapping.GetMimeMapping(file.FileName).StartsWith("image/") || MimeMapping.GetMimeMapping(file.FileName).StartsWith("video/")) { var obj = HttpContext.Current.Request.Form[0]; var resultAsset = JsonConvert.DeserializeObject <Asset>(obj); string fileName = Common.AppendTimeStamp(file.FileName); Asset asset = new Asset(); asset.CustomName = fileName; asset.OriginalName = file.FileName; asset.UserId = User.Identity.GetUserId(); asset.Type = MimeMapping.GetMimeMapping(file.FileName).StartsWith("image/") ? "image" : "video"; asset.MetaData = resultAsset.MetaData; var blockBlob = common.UploadFileAsync(file, fileName, resultAsset.MetaData, asset); asset.MetaData = blockBlob.Item2; assetRep.Create(asset); return(new HttpResponseMessage(HttpStatusCode.Accepted)); } else { return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } } else { return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } }