From 58c4a118bad3d33a553915781c9711d7bf2f6ee2 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 11 Aug 2022 12:07:21 +0800 Subject: [PATCH] fix --- src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminCommonController.java | 50 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminCommonController.java b/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminCommonController.java index eed8bdb..4216c52 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminCommonController.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminCommonController.java @@ -1,5 +1,8 @@ package com.xcong.farmer.cms.modules.system.controller; +import cn.hutool.core.img.Img; +import cn.hutool.core.img.ImgUtil; +import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.IdUtil; import com.xcong.farmer.cms.common.contants.AppContants; import com.xcong.farmer.cms.common.response.Result; @@ -8,15 +11,20 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import net.coobird.thumbnailator.Thumbnails; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.imageio.ImageIO; import javax.validation.Valid; +import java.awt.image.BufferedImage; import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.util.Map; @@ -112,12 +120,15 @@ @Value("${static.resource.url}") private String resourceUrl; + @Value("${static.resource.path}") + private String resourcePath; + @ApiOperation(value = "文件上传", notes = "文件上传") @PostMapping("/uploadFile") public Result uploadFile(@RequestParam("file") MultipartFile file) throws Exception { // 文件保存目录路径 - String savePath = AppContants.PICTURE_PATH; + String savePath = resourcePath; // 文件保存目录URL String saveUrl = resourceUrl; // 检查目录 @@ -125,19 +136,38 @@ if (!uploadDir.isDirectory()) { uploadDir.mkdir(); } - //获得文件的后缀 + + + // 获得文件的后缀 String filename = IdUtil.simpleUUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); - File filepath = new File(savePath + filename); - try { - //存文件 - file.transferTo(filepath); - } catch (IOException e) { - e.printStackTrace(); + if (isImage(file.getInputStream())) { + Thumbnails.of(file.getInputStream()) + // 图片大小(长宽)压缩比例 从0-1,1表示原图 + .scale(1f) + // 图片质量压缩比例 从0-1,越接近1质量越好 + .outputQuality(0.5f) + .toOutputStream(new FileOutputStream(savePath + filename)); + } else { + File filepath = new File(savePath + filename); + try { + //存文件 + file.transferTo(filepath); + } catch (IOException e) { + e.printStackTrace(); + } } + String visitPath = (saveUrl + filename); return Result.ok("上传成功",visitPath); } - - + private boolean isImage(InputStream inputStream) { + BufferedImage read = null; + try { + read = ImageIO.read(inputStream); + } catch (IOException e) { + return false; + } + return read != null; + } } -- Gitblit v1.9.1