chenbiao пре 2 година
родитељ
комит
219f0764df

+ 41 - 39
midjourney/src/main/java/com/yhlxj/service/midjourney/impl/MidjourneyServiceImpl.java

@@ -967,51 +967,53 @@ public class MidjourneyServiceImpl implements MidjourneyService {
             log.info("获取到的图片 url:{}", conversation.getImageUrl());
             ImgSize imgSize = TASK_IMG_SIZE_MAP.get(conversation.getTaskId());
             URL url = new URL(conversation.getImageUrl());
-            try {
-                String filePath = url.getFile();
-                // 注册 WebP 插件
-                ImageIO.scanForPlugins();
-
-                // 从 URL 中读取图像,特别处理 WebP 格式
-                BufferedImage image = null;
-                if (filePath.contains("webp")) {
-                    Iterator<ImageReader> readers = ImageIO.getImageReadersByMIMEType("image/webp");
-                    if (readers.hasNext()) {
-                        ImageReader reader = readers.next();
-                        try {
-                            ImageInputStream iis = ImageIO.createImageInputStream(url.openStream());
-                            reader.setInput(iis, true);
-                            image = reader.read(0);
-                        }catch (Exception e){
-                            log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
+            if(imgSize != null){
+                try {
+                    String filePath = url.getFile();
+                    // 注册 WebP 插件
+                    ImageIO.scanForPlugins();
+
+                    // 从 URL 中读取图像,特别处理 WebP 格式
+                    BufferedImage image = null;
+                    if (filePath.contains("webp")) {
+                        Iterator<ImageReader> readers = ImageIO.getImageReadersByMIMEType("image/webp");
+                        if (readers.hasNext()) {
+                            ImageReader reader = readers.next();
+                            try {
+                                ImageInputStream iis = ImageIO.createImageInputStream(url.openStream());
+                                reader.setInput(iis, true);
+                                image = reader.read(0);
+                            }catch (Exception e){
+                                log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
+                            }
                         }
+                    } else {
+                        image = ImageIO.read(url);
                     }
-                } else {
-                    image = ImageIO.read(url);
-                }
 
-                if (image == null) {
-                    throw new IOException("Failed to read image from URL: " + conversation.getImageUrl());
-                }
+                    if (image == null) {
+                        throw new IOException("Failed to read image from URL: " + conversation.getImageUrl());
+                    }
 
-                if (imgSize == null) {
-                    try {
-                        //BufferedImage image = ImageIO.read(new URL(url.getProtocol(), "cdn.mj.liuliangbang.vip", url.getPort(), url.getFile()));
-                        // 获取图像的宽度和高度
-                        int width = image.getWidth();
-                        int height = image.getHeight();
-                        log.info("首次获取到的图片 尺寸:{},{}", width, height);
-                        // 缩小宽度和高度的一半
-                        imgSize = new ImgSize();
-                        imgSize.setHeight(height);
-                        imgSize.setWidth(width);
-                        TASK_IMG_SIZE_MAP.put(conversation.getTaskId(), imgSize);
-                    }catch (Exception e){
-                        log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
+                    if (imgSize == null) {
+                        try {
+                            //BufferedImage image = ImageIO.read(new URL(url.getProtocol(), "cdn.mj.liuliangbang.vip", url.getPort(), url.getFile()));
+                            // 获取图像的宽度和高度
+                            int width = image.getWidth();
+                            int height = image.getHeight();
+                            log.info("首次获取到的图片 尺寸:{},{}", width, height);
+                            // 缩小宽度和高度的一半
+                            imgSize = new ImgSize();
+                            imgSize.setHeight(height);
+                            imgSize.setWidth(width);
+                            TASK_IMG_SIZE_MAP.put(conversation.getTaskId(), imgSize);
+                        }catch (Exception e){
+                            log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
+                        }
                     }
+                }catch (Exception e){
+                    log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
                 }
-            }catch (Exception e){
-                log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
             }
 
             String scaling = "";