Procházet zdrojové kódy

设置压缩比例

Administrator před 9 měsíci
rodič
revize
536acd1110

+ 4 - 7
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java

@@ -85,9 +85,8 @@ public class CommonController {
         try {
             String extension = FileUploadUtils.getExtension(file);
             if("bmp".equals(extension) || "gif".equals(extension) || "jpg".equals(extension) || "jpeg".equals(extension) || "png".equals(extension)){
-                MultipartFile  multipartFile = ImageSizeUtil.compressImg(file);
                 //压缩图片
-                MultipartFile multipartFileCorrection = ImageSizeUtil.compressImg(multipartFile);
+                MultipartFile multipartFileCorrection = ImageSizeUtil.compressImg(file);
                 //矫正
                 file = FileUploadUtils.imageCorrection(multipartFileCorrection);
                 if (file == null){
@@ -121,11 +120,10 @@ public class CommonController {
         try {
             String extension = FileUploadUtils.getExtension(file);
             if("bmp".equals(extension) || "gif".equals(extension) || "jpg".equals(extension) || "jpeg".equals(extension) || "png".equals(extension)){
-                MultipartFile  multipartFile = ImageSizeUtil.compressImg(file);
                 //压缩图片
-                MultipartFile multipartFileCorrection = ImageSizeUtil.compressImg(multipartFile);
+                MultipartFile multipartFileCorrection = ImageSizeUtil.compressImg(file);
                 //矫正
-                 file = FileUploadUtils.imageCorrection(multipartFileCorrection);
+                file = FileUploadUtils.imageCorrection(multipartFileCorrection);
                 if (file == null){
                     return AjaxResult.error("图片不合规");
                 }
@@ -163,9 +161,8 @@ public class CommonController {
         try {
             String extension = FileUploadUtils.getExtension(file);
             if("bmp".equals(extension) || "gif".equals(extension) || "jpg".equals(extension) || "jpeg".equals(extension) || "png".equals(extension)){
-                MultipartFile  multipartFile = ImageSizeUtil.compressImg(file);
                 //压缩图片
-                MultipartFile multipartFileCorrection = ImageSizeUtil.compressImg(multipartFile);
+                MultipartFile multipartFileCorrection = ImageSizeUtil.compressImg(file);
                 //矫正
                 file = FileUploadUtils.imageCorrection(multipartFileCorrection);
                 if (file == null){

+ 9 - 2
ruoyi-common/src/main/java/com/ruoyi/common/utils/ImageSizeUtil.java

@@ -24,6 +24,13 @@ public class ImageSizeUtil {
      * @throws Exception
      */
     public static MultipartFile compressImg(MultipartFile multiFile) {
+        long size = multiFile.getSize();
+        if (size> 0){
+            double fileSizeMb = size / (1024.0 * 1024.0);
+            if (fileSizeMb < 5){
+                return multiFile;
+            }
+        }
         // 压缩图片
         InputStream inputStream = null;
         ByteArrayOutputStream bos = null;
@@ -32,8 +39,8 @@ public class ImageSizeUtil {
         try {
             inputStream = multiFile.getInputStream();
             bos = new ByteArrayOutputStream();
-            // 压缩图片核心代码
-            Thumbnails.of(inputStream).scale(0.3f).outputQuality(1f).toOutputStream(bos);
+            // 压缩图片核心代码 scale设置压缩比例 越小压缩图片越小
+            Thumbnails.of(inputStream).scale(0.5f).outputQuality(1f).toOutputStream(bos);
             fileInput = new ByteArrayInputStream(bos.toByteArray());
             // 转换 MultipartFile
             String fieldName = multiFile.getName();