public async Task <HttpResponseMessage> PostVideo() { try { HttpPostedFile pf = HttpContext.Current.Request.Files[0]; FileInfo fi = new FileInfo(pf.FileName); Stream fileStream = pf.InputStream; byte[] input = new byte[pf.ContentLength]; //read the file bytes asynchronously await fileStream.ReadAsync(input, 0, pf.ContentLength); AzureHelper cc = AzureHelper.AzureInstance; string assetId = cc.Upload(fi.Name, input); cc.Encode(assetId); return(Request.CreateResponse(HttpStatusCode.OK, assetId)); } catch (System.Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message, e)); } }