Эх сурвалжийг харах

bugfix:解决图片上传后,横版竖分辨率未按等比压缩至480P问题

lihao16 3 сар өмнө
parent
commit
ceaacc6be8

+ 8 - 4
smsb-modules/smsb-source/src/main/java/com/inspur/source/service/impl/SmsbMinioDataServiceImpl.java

@@ -465,7 +465,7 @@ public class SmsbMinioDataServiceImpl implements ISmsbMinioDataService {
             imageHeight = 480.0;
             factor = new BigDecimal((float) imageHeight / height).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
             //获取缩放后的宽度
-            imageWidth = height * factor;
+            imageWidth = width * factor;
         }
         log.info("image hwType is : " + hwType + ",imageWidth : " + imageWidth + ",imageHeight : " + imageHeight);
         //  图片压缩
@@ -485,11 +485,11 @@ public class SmsbMinioDataServiceImpl implements ISmsbMinioDataService {
             BufferedImage to = new BufferedImage((int) imageWidth, (int) imageHeight,
                                                  BufferedImage.TYPE_INT_RGB);
             Graphics2D g2d = to.createGraphics();
-            to = g2d.getDeviceConfiguration().createCompatibleImage((int) imageWidth, (int) imageWidth,
+            to = g2d.getDeviceConfiguration().createCompatibleImage((int) imageWidth, (int) imageHeight,
                                                                     Transparency.TRANSLUCENT);
             g2d.dispose();
             //绘制图片
-            to.getGraphics().drawImage(src.getScaledInstance((int) imageWidth, (int) imageWidth, Image.SCALE_SMOOTH),
+            to.getGraphics().drawImage(src.getScaledInstance((int) imageWidth, (int) imageHeight, Image.SCALE_SMOOTH),
                                        0,
                                        0,
                                        null);
@@ -731,7 +731,11 @@ public class SmsbMinioDataServiceImpl implements ISmsbMinioDataService {
         // 文件的下载地址生成
         // http://117.73.3.135:83/download?tenant_id=00000&file_key=/smsb-plus/2025/06/05/548b91398cbe4762b68c6177e088a12b.jpg
         StringBuffer dUrlSb = new StringBuffer();
-        dUrlSb.append(Constants.HTTP).append(minioServerIp).append(":").append(minioServerDPort);
+        // 去除末尾的斜杠(如果存在)
+        String cleanedMinioServerIp = minioServerIp.endsWith("/")
+            ? minioServerIp.substring(0, minioServerIp.length() - 1)
+            : minioServerIp;
+        dUrlSb.append(cleanedMinioServerIp);
         dUrlSb.append("/download?tenant_id=").append(LoginHelper.getTenantId());
         dUrlSb.append("&file_key=").append(StringUtils.SLASH).append(minioServerBucket);
         dUrlSb.append(add.getKeyName());