public async Task <IHttpActionResult> UploadLogoFile(int id) { string logAPI = "[Put] " + Request.RequestUri.ToString(); // Check if the request contains multipart/form-data. if (!Request.Content.IsMimeMultipartContent()) { return(Content(HttpStatusCode.UnsupportedMediaType, HttpResponseFormat.UnsupportedMediaType())); } EmployeeModel model = new EmployeeModel(); //FileHelper fileHelper = new FileHelper(); BlobStorageHelper storageHelper = new BlobStorageHelper(Global._systemStorageName, Global._systemStorageKey, Global._imageStorageContainer); string root = Path.GetTempPath(); var provider = new MultipartFormDataStreamProvider(root); try { // Read the form data. string PhotoAbsoluteUri = "", IconAbsoluteUri = ""; await Request.Content.ReadAsMultipartAsync(provider); //FileData foreach (MultipartFileData fileData in provider.FileData) { //string formColumnName = fileData.Headers.ContentDisposition.Name; //string fileExtenionName = fileData.Headers.ContentDisposition.FileName.Replace("\"", "").Split('.')[1]; string fileExtension = Path.GetExtension(fileData.Headers.ContentDisposition.FileName.ToLower()); if (fileExtension.Equals(".jpg", StringComparison.InvariantCultureIgnoreCase) || fileExtension.Equals(".jpeg", StringComparison.InvariantCultureIgnoreCase) || fileExtension.Equals(".png", StringComparison.InvariantCultureIgnoreCase)) { int companyId = model.GetCompanyId(id); ImageHelper imageHelper = new ImageHelper(); string uploadFilePath = String.Format("company-{0}/employee/{}", companyId, id); PhotoAbsoluteUri = imageHelper.PublishImage(fileData.LocalFileName, storageHelper, uploadFilePath, Global._employeePhotoWidthHeight, Global._imageBgColor, Global._imageFormat); IconAbsoluteUri = imageHelper.PublishImage(fileData.LocalFileName, storageHelper, uploadFilePath, Global._employeeIconWidthHeight, Global._imageBgColor, Global._imageFormat); //string uploadFilePath = String.Format("company-{0}/employee/{1}-default{2}", companyId, id, fileExtension); //fileAbsoluteUri = storageHelper.SaveFiletoStorage(fileData.LocalFileName, uploadFilePath); } } if (PhotoAbsoluteUri.Equals("")) { return(Content(HttpStatusCode.BadRequest, HttpResponseFormat.Error("File is empty or wrong extension name."))); } //Edit employee photo path model.UpdatePhotoURL(id, PhotoAbsoluteUri, IconAbsoluteUri); //RedisCacheHelper.DeleteEmployeeCache(id); return(Content(HttpStatusCode.OK, HttpResponseFormat.Success(PhotoAbsoluteUri))); } catch (CDSException cdsEx) { return(Content(HttpStatusCode.BadRequest, CDSException.GetCDSErrorMessageByCode(cdsEx.ErrorId))); } catch (System.Exception ex) { StringBuilder logMessage = LogHelper.BuildExceptionMessage(ex); Global._appLogger.Error(logAPI + logMessage); return(Content(HttpStatusCode.InternalServerError, ex)); } }