public ActionResult CropProfileImage(ProfileImageCropInfoPM cropInfo) { UserProfileService.CropUserProfileImages(User.UserId, cropInfo); return(Json(new { status = "success", url = $"/user/service/getprofileimage/large/{Guid.NewGuid()}", })); }
public void CropUserProfileImages(int userId, ProfileImageCropInfoPM cropInfo) { var originalImagePath = AppFileManager.GetUserProfileImagePath(userId, ProfileImageSize.Original); var extension = Path.GetExtension(originalImagePath); var largeImagePath = AppFileManager.CalculateUserProfileImagePath(userId, ProfileImageSize.Large, extension); var mediumImagePath = AppFileManager.CalculateUserProfileImagePath(userId, ProfileImageSize.Medium, extension); var smallImagePath = AppFileManager.CalculateUserProfileImagePath(userId, ProfileImageSize.Small, extension); var sourceImageCropArea = cropInfo.GetSourceImageCropArea(); AppFileManager.RemoveUserProfileImages(userId, ProfileImageSize.Large, ProfileImageSize.Medium, ProfileImageSize.Small); ImageHelper.CropImage(originalImagePath, sourceImageCropArea, new Size(300, 300), largeImagePath); ImageHelper.CropImage(originalImagePath, sourceImageCropArea, new Size(80, 80), mediumImagePath); ImageHelper.CropImage(originalImagePath, sourceImageCropArea, new Size(40, 40), smallImagePath); File.Delete(originalImagePath); ProfileBiz.SetUserProfile(userId, ProfileKeyValueType.IsProfileImageSet, "1"); UnitOfWork.SaveChanges(); }