From 03bdc7c3ccab1696d138115c1201bcecee2873fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Thu, 18 Jul 2024 14:07:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=EF=BC=8C?= =?UTF-8?q?=E6=98=AF=E5=9B=BE=E7=89=87=E6=97=B6=E5=86=8D=E5=8E=8B=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/file/utils/FileUploadUtils.java | 42 ++++++++++++------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/sqx/modules/file/utils/FileUploadUtils.java b/src/main/java/com/sqx/modules/file/utils/FileUploadUtils.java index 3be252d..d79722e 100644 --- a/src/main/java/com/sqx/modules/file/utils/FileUploadUtils.java +++ b/src/main/java/com/sqx/modules/file/utils/FileUploadUtils.java @@ -132,6 +132,17 @@ public class FileUploadUtils //file.transferTo(desc); IoUtil.close(out); String pathFileName = getPathFileName(baseDir, fileName); + + String extension = getExtension(file); + String[] imgExtension = {"bmp", "gif", "jpg", "jpeg", "png"}; + boolean isImg = false; + for (String str : imgExtension) + { + if (str.equalsIgnoreCase(extension)) + { + isImg = true; + } + } // try { // File input = new File(baseDir+"/"+fileName); // BufferedImage image = ImageIO.read(input); @@ -151,21 +162,24 @@ public class FileUploadUtils // } catch (Exception e) { // System.out.println("压缩失败:" + e.getMessage()); // } - try { - Date date = new Date(); - SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss"); - Random random = new Random(); - int randomNumber = random.nextInt(900000) + 100000; // 生成一个介于100000到999999之间的随机数 - String outfilename = fileName.substring(0,fileName.lastIndexOf("/"))+"/"+sdf.format(date)+randomNumber+fileName.substring(fileName.lastIndexOf("."),fileName.length()); + //如果是图片则压缩 + if(isImg){ + try { + Date date = new Date(); + SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss"); + Random random = new Random(); + int randomNumber = random.nextInt(900000) + 100000; // 生成一个介于100000到999999之间的随机数 + String outfilename = fileName.substring(0,fileName.lastIndexOf("/"))+"/"+sdf.format(date)+randomNumber+fileName.substring(fileName.lastIndexOf("."),fileName.length()); - File inputFile = new File(baseDir + File.separator + fileName); - File outputFile = new File(baseDir + File.separator + outfilename); // 输出图片文件 - String retImgName = "/file/uploadPath/"+outfilename; - float quality = 0.45f; // 压缩质量,范围0.0到1.0 - compressImage(inputFile, outputFile, quality); - pathFileName = retImgName; - } catch (IOException e) { - e.printStackTrace(); + File inputFile = new File(baseDir + File.separator + fileName); + File outputFile = new File(baseDir + File.separator + outfilename); // 输出图片文件 + String retImgName = "/file/uploadPath/"+outfilename; + float quality = 0.45f; // 压缩质量,范围0.0到1.0 + compressImage(inputFile, outputFile, quality); + pathFileName = retImgName; + } catch (IOException e) { + e.printStackTrace(); + } } return pathFileName; }