aboutsummaryrefslogtreecommitdiff
path: root/juick-www/src/main/java/com/juick/www/controllers/Settings.java
diff options
context:
space:
mode:
authorGravatar KillyMXI2017-06-20 01:50:33 +0300
committerGravatar KillyMXI2017-06-20 01:50:33 +0300
commit9943851e037f907623cd879dab2f0e8b31f260cf (patch)
treead479d52100caeed458bd3d626d8432d2eb2e31e /juick-www/src/main/java/com/juick/www/controllers/Settings.java
parentf3312679fa538122cd81e0e9a0a251ebb296b80e (diff)
All the image processing is moved to ImageUtils class.
Small images keep their size and do not stretch to 512/1024px.
Diffstat (limited to 'juick-www/src/main/java/com/juick/www/controllers/Settings.java')
-rw-r--r--juick-www/src/main/java/com/juick/www/controllers/Settings.java20
1 files changed, 2 insertions, 18 deletions
diff --git a/juick-www/src/main/java/com/juick/www/controllers/Settings.java b/juick-www/src/main/java/com/juick/www/controllers/Settings.java
index 3c4511c1..d2b65661 100644
--- a/juick-www/src/main/java/com/juick/www/controllers/Settings.java
+++ b/juick-www/src/main/java/com/juick/www/controllers/Settings.java
@@ -21,12 +21,11 @@ import com.juick.server.helpers.NotifyOpts;
import com.juick.server.helpers.UserInfo;
import com.juick.server.util.HttpBadRequestException;
import com.juick.server.util.HttpUtils;
+import com.juick.server.util.ImageUtils;
import com.juick.service.*;
import com.juick.util.UserUtils;
import com.juick.www.WebApp;
-import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
-import org.imgscalr.Scalr;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
@@ -36,7 +35,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
-import javax.imageio.ImageIO;
import javax.inject.Inject;
import javax.mail.Message;
import javax.mail.MessagingException;
@@ -48,12 +46,7 @@ import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.awt.image.BufferedImage;
import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.StandardCopyOption;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -167,16 +160,7 @@ public class Settings {
info.setDescription(request.getParameter("descr"));
String avatarTmpPath = HttpUtils.receiveMultiPartFile(avatar, webApp.getTmpDir());
if (StringUtils.isNotEmpty(avatarTmpPath)) {
- String originalExtension = FilenameUtils.getExtension(avatarTmpPath);
- String originalName = String.format("%s.%s", visitor.getUid(), originalExtension);
- String targetName = String.format("%s.png", visitor.getUid());
- Path ao = Paths.get(webApp.getImgDir(), "ao", originalName);
- Path a = Paths.get(webApp.getImgDir(), "a", targetName);
- Path as = Paths.get(webApp.getImgDir(), "as", targetName);
- Files.move(Paths.get(webApp.getTmpDir(), avatarTmpPath), ao, StandardCopyOption.REPLACE_EXISTING);
- BufferedImage originalImage = ImageIO.read(ao.toFile());
- ImageIO.write(Scalr.resize(originalImage, 96), "png", a.toFile());
- ImageIO.write(Scalr.resize(originalImage, 32), "png", as.toFile());
+ ImageUtils.saveAvatar(avatarTmpPath, visitor.getUid(), webApp.getTmpDir(), webApp.getImgDir());
}
if (userService.updateUserInfo(visitor, info)) {
result = String.format("<p>Your info is updated.</p><p><a href='/%s/'>Back to blog</a>.</p>", visitor.getName());