From a62b9f8df546d9f47396d7001ed4ba8701de60f1 Mon Sep 17 00:00:00 2001 From: ruibaby <i@ryanc.cc> Date: Sat, 23 Jun 2018 15:22:00 +0800 Subject: [PATCH] =?UTF-8?q?:alien:=20=E4=BF=AE=E6=94=B9=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=8E=8B=E7=BC=A9=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +++++++ src/main/java/cc/ryanc/halo/Application.java | 3 +++ .../admin/AttachmentController.java | 21 +++++++------------ .../templates/admin/admin_theme-editor.ftl | 2 +- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/pom.xml b/pom.xml index bc5dd83b2..1c17ab8de 100755 --- a/pom.xml +++ b/pom.xml @@ -156,6 +156,13 @@ <version>4.0.1</version> </dependency> + <!-- 图片操作 --> + <dependency> + <groupId>net.coobird</groupId> + <artifactId>thumbnailator</artifactId> + <version>0.4.8</version> + </dependency> + </dependencies> <repositories> diff --git a/src/main/java/cc/ryanc/halo/Application.java b/src/main/java/cc/ryanc/halo/Application.java index b6c7c1eff..abb078ad0 100755 --- a/src/main/java/cc/ryanc/halo/Application.java +++ b/src/main/java/cc/ryanc/halo/Application.java @@ -1,5 +1,6 @@ package cc.ryanc.halo; +import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -7,9 +8,11 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @author RYAN0UP * SpringBoot启动类 */ +@Slf4j @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); + log.info("Halo started at http://localhost:8090"); } } diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/AttachmentController.java b/src/main/java/cc/ryanc/halo/web/controller/admin/AttachmentController.java index 542f15e5d..cccc9a657 100755 --- a/src/main/java/cc/ryanc/halo/web/controller/admin/AttachmentController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/admin/AttachmentController.java @@ -11,6 +11,7 @@ import cc.ryanc.halo.utils.HaloUtils; import cn.hutool.core.date.DateUtil; import cn.hutool.extra.servlet.ServletUtil; import lombok.extern.slf4j.Slf4j; +import net.coobird.thumbnailator.Thumbnails; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -131,7 +132,7 @@ public class AttachmentController { * @param request request * @return Map<String , Object></> */ - public Map<String, Object> uploadAttachment(MultipartFile file, HttpServletRequest request) { + private Map<String, Object> uploadAttachment(MultipartFile file, HttpServletRequest request) { Map<String, Object> result = new HashMap<String, Object>(); if (!file.isEmpty()) { try { @@ -151,25 +152,18 @@ public class AttachmentController { String fileName = nameWithOutSuffix+"."+fileSuffix; file.transferTo(new File(mediaPath.getAbsoluteFile(), fileName)); + //压缩图片 + Thumbnails.of(new StringBuffer(mediaPath.getAbsolutePath()).append("/").append(fileName).toString()).size(256,256).keepAspectRatio(false).toFile(new StringBuffer(mediaPath.getAbsolutePath()).append("/").append(nameWithOutSuffix).append("_small.").append(fileSuffix).toString()); + //保存在数据库 Attachment attachment = new Attachment(); attachment.setAttachName(fileName); attachment.setAttachPath(new StringBuffer("/upload/").append(HaloUtils.YEAR).append("/").append(HaloUtils.MONTH).append("/").append(fileName).toString()); - //判断图片大小,如果长宽都小于500,则保存原始图片路径 - BufferedImage sourceImg = ImageIO.read(new FileInputStream(mediaPath.getPath() + "/" + fileName)); - if (sourceImg.getWidth() < 500 || sourceImg.getHeight() < 500) { - attachment.setAttachSmallPath(new StringBuffer("/upload/").append(HaloUtils.YEAR).append("/").append(HaloUtils.MONTH).append("/").append(fileName).toString()); - } else { - attachment.setAttachSmallPath(new StringBuffer("/upload/").append(HaloUtils.YEAR).append("/").append(HaloUtils.MONTH).append("/").append(nameWithOutSuffix).append("_small.").append(fileSuffix).toString()); - //剪裁图片 - HaloUtils.cutCenterImage(new StringBuffer(mediaPath.getAbsolutePath()).append("/").append(fileName).toString(), new StringBuffer(mediaPath.getAbsolutePath()).append("/").append(nameWithOutSuffix).append("_small.").append(fileSuffix).toString(), 500, 500, fileSuffix); - } - + attachment.setAttachSmallPath(new StringBuffer("/upload/").append(HaloUtils.YEAR).append("/").append(HaloUtils.MONTH).append("/").append(nameWithOutSuffix).append("_small.").append(fileSuffix).toString()); attachment.setAttachType(file.getContentType()); attachment.setAttachSuffix(new StringBuffer(".").append(fileSuffix).toString()); attachment.setAttachCreated(DateUtil.date()); attachmentService.saveByAttachment(attachment); - updateConst(); log.info("上传文件[" + fileName + "]到[" + mediaPath.getAbsolutePath() + "]成功"); logsService.saveByLogs( @@ -180,7 +174,8 @@ public class AttachmentController { result.put("message", "上传成功!"); result.put("url", attachment.getAttachPath()); } catch (Exception e) { - log.error("未知错误:{0}", e.getMessage()); + log.error("未知错误:", e.getMessage()); + e.printStackTrace(); result.put("success", 0); result.put("message", "上传失败!"); } diff --git a/src/main/resources/templates/admin/admin_theme-editor.ftl b/src/main/resources/templates/admin/admin_theme-editor.ftl index 517281388..d0466242f 100644 --- a/src/main/resources/templates/admin/admin_theme-editor.ftl +++ b/src/main/resources/templates/admin/admin_theme-editor.ftl @@ -77,10 +77,10 @@ <#break> <#case "gallery.ftl"> 图库页面 + <#break > <#case "module/options.ftl"> 设置选项 <#break > - <#break> </#switch> </td> </tr>