public async Task <IHttpActionResult> UploadPhoto(bool saveToTemporary = true) { var file = HttpContext.Current.Request.Files.Count > 0 ? HttpContext.Current.Request.Files[0] : null; string path = string.Empty; string userId = User.Identity.GetUserId(); UploadImage uploadImage = new UploadImage(userId); if (file != null) { if (!saveToTemporary) { path = UploadImageProperties.ImageUserFolder; } UploadImageResult result = await uploadImage.ImageCropAndResize(file, w : UploadImageProperties.ImageSmallResize, h : UploadImageProperties.ImageSmallResize, path : path); if (!String.IsNullOrEmpty(result.Error)) { ModelState.AddModelError("Upload", result.Error); return(BadRequest(ModelState)); } var adress = UploadImageProperties.BlobAdress + result.PathFile; return(Ok(adress)); } else { ModelState.AddModelError("FileError", "File was not received by the server"); return(BadRequest(ModelState)); } }
private UploadImageResult Upload(UploadImageContext context) { _logger.Debug("Upload Image \n\r=================="); int returnCode = _checkProcesser.Process(context); bool success = (returnCode == ImageErrorMessage.ImageUploadSucess); var result = new UploadImageResult { Success = success, ImageName = context.FileName, ImageUrl = context.ImageUrl, ThumbImageUrl = context.ThumbUrl, CompressImageUrl = context.CompressUrl, ReturnCode = returnCode }; _logger.DebugFormat("the image {0} upload succeed!the image path was:{1}, thumb image path:{2}", result.ImageName, result.ImageUrl, result.ThumbImageUrl); _logger.Debug("\n\r==========================================="); return(result); }
public virtual JsonResult <UploadImageResult> UploadImage() { var memberService = UnityHelper.Container.Resolve <IMembershipService>(); var roleService = UnityHelper.Container.Resolve <IRoleService>(); var localizationService = UnityHelper.Container.Resolve <ILocalizationService>(); var uploadService = UnityHelper.Container.Resolve <IUploadedFileService>(); var context = UnityHelper.Container.Resolve <IMvcForumContext>(); var loggingService = UnityHelper.Container.Resolve <ILoggingService>(); roleService.RefreshContext(context); uploadService.RefreshContext(context); localizationService.RefreshContext(context); memberService.RefreshContext(context); try { if (HttpContext.Current.Request.Files.AllKeys.Any()) { // Get the uploaded image from the Files collection var httpPostedFile = HttpContext.Current.Request.Files["file"]; if (httpPostedFile != null) { HttpPostedFileBase photo = new HttpPostedFileWrapper(httpPostedFile); memberService.GetUser(HttpContext.Current.User.Identity.Name); var permissions = roleService.GetPermissions(null, LoggedOnReadOnlyUser.Roles.FirstOrDefault()); // Get the permissions for this Group, and check they are allowed to update if (permissions[ForumConfiguration.Instance.PermissionInsertEditorImages].IsTicked) { // woot! User has permission and all seems ok // Before we save anything, check the user already has an upload folder and if not create one var uploadFolderPath = HostingEnvironment.MapPath( string.Concat(ForumConfiguration.Instance.UploadFolderPath, LoggedOnReadOnlyUser?.Id)); if (!Directory.Exists(uploadFolderPath)) { Directory.CreateDirectory(uploadFolderPath); } // If successful then upload the file var uploadResult = photo.UploadFile(uploadFolderPath, localizationService); if (!uploadResult.UploadSuccessful) { return(Json(new UploadImageResult())); } // Add the filename to the database var uploadedFile = new UploadedFile { Filename = uploadResult.UploadedFileName, MembershipUser = LoggedOnReadOnlyUser }; uploadedFile.DateCreated = DateTime.UtcNow; var user = context.MembershipUser.FirstOrDefault(x => x.Id == LoggedOnReadOnlyUser.Id); uploadedFile.MembershipUser = user; context.UploadedFile.Add(uploadedFile); // Commit the changes context.SaveChanges(); var result = new UploadImageResult { location = uploadResult.UploadedFileUrl }; return(Json(result)); } } } } catch (Exception ex) { context.RollBack(); loggingService.Error(ex); } return(Json(new UploadImageResult())); }