From 373ccb38c080fd6bba2b989216aa13562dd10c95 Mon Sep 17 00:00:00 2001 From: fl <3098731433@qq.com> Date: Fri, 4 Jul 2025 15:40:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=B8=8B=E5=8F=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/mongodb/config/MongoConfig.java | 2 +- .../robot/util/IntelligentLibraryUtil.java | 48 +++++++++++++++---- 2 files changed, 41 insertions(+), 9 deletions(-) diff --git a/bonus-business/src/main/java/com/bonus/business/mongodb/config/MongoConfig.java b/bonus-business/src/main/java/com/bonus/business/mongodb/config/MongoConfig.java index 45c0706..799b90b 100644 --- a/bonus-business/src/main/java/com/bonus/business/mongodb/config/MongoConfig.java +++ b/bonus-business/src/main/java/com/bonus/business/mongodb/config/MongoConfig.java @@ -34,7 +34,7 @@ public class MongoConfig { @Value("${spring.data.mongodb.username}") private String UN ; - @Value("${spring.data.mongodb.password}") + @Value(".${spring.data.mongodb.password}") private String PD ; private MongoDatabase mongoDatabase; diff --git a/bonus-business/src/main/java/com/bonus/business/robot/util/IntelligentLibraryUtil.java b/bonus-business/src/main/java/com/bonus/business/robot/util/IntelligentLibraryUtil.java index 4b7b017..b5d117b 100644 --- a/bonus-business/src/main/java/com/bonus/business/robot/util/IntelligentLibraryUtil.java +++ b/bonus-business/src/main/java/com/bonus/business/robot/util/IntelligentLibraryUtil.java @@ -188,27 +188,59 @@ public class IntelligentLibraryUtil { } } - public static File[] convertUrlToFile(String imageUrl) throws Exception { - // 打开URL输入流 - try (InputStream in = new URL(imageUrl).openStream()) { - // 创建临时文件(保留原始扩展名) - String suffix = getExtensionFromUrl(imageUrl); + public static File[] convertUrlToFile(String imageUrlOrPath) throws Exception { + // 判断是本地路径还是URL + if (isLocalFile(imageUrlOrPath)) { + // 如果是本地路径,创建一个临时文件复制该文件内容 + File originalFile = new File(imageUrlOrPath); + String suffix = getExtensionFromFilePath(imageUrlOrPath); File tempFile = File.createTempFile("image-", suffix); tempFile.deleteOnExit(); // 程序退出时自动删除 - // 写入到临时文件 - try (FileOutputStream out = new FileOutputStream(tempFile)) { + try (FileInputStream in = new FileInputStream(originalFile); + FileOutputStream out = new FileOutputStream(tempFile)) { byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = in.read(buffer)) != -1) { out.write(buffer, 0, bytesRead); } } - return new File[]{tempFile}; + } else { + // 打开URL输入流 + try (InputStream in = new URL(imageUrlOrPath).openStream()) { + // 创建临时文件(保留原始扩展名) + String suffix = getExtensionFromUrl(imageUrlOrPath); + File tempFile = File.createTempFile("image-", suffix); + tempFile.deleteOnExit(); // 程序退出时自动删除 + + // 写入到临时文件 + try (FileOutputStream out = new FileOutputStream(tempFile)) { + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = in.read(buffer)) != -1) { + out.write(buffer, 0, bytesRead); + } + } + + return new File[]{tempFile}; + } } } + // 从文件路径中提取后缀名 + private static String getExtensionFromFilePath(String filePath) { + String fileName = new File(filePath).getName(); + int dotIndex = fileName.lastIndexOf('.'); + return (dotIndex == -1) ? "" : fileName.substring(dotIndex); + } + + + private static boolean isLocalFile(String path) { + File file = new File(path); + return file.exists() && file.isFile(); + } + // 从URL中提取后缀名,比如 ".jpg", ".png" private static String getExtensionFromUrl(String url) { String lowerCaseUrl = url.toLowerCase();