From d0565d28bafce1688c2423e43a94ea43923b664a Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期二, 21 一月 2025 17:38:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/UrlDownloader.java | 16 +++++++++++++--- ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/orc/OcrUtils.java | 3 +-- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java | 8 ++++++++ 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/UrlDownloader.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/UrlDownloader.java index 9b7a776..19fb32c 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/UrlDownloader.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/UrlDownloader.java @@ -2,8 +2,10 @@ import java.io.IOException; import java.io.InputStream; +import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; +import java.net.URLEncoder; public class UrlDownloader { @@ -29,9 +31,17 @@ return connection.getInputStream(); } - public static void main(String[] args) { - String urlString = "https://example.com/file.txt"; // 替换为你要下载的URL - + public static void main(String[] args) throws UnsupportedEncodingException { + String urlString = "http://192.168.110.188:9300/statics/2025/01/21/身份证人像面_20250121171827A014.png"; // 替换为你要下载的URL + //将路径中的中文进行编码 + //String urlString = "http://192.168.110.188:9300/statics/2025/01/21/%E8%BA%AB%E4%BB%BD%E8%AF%81%E4%BA%BA%E5%83%8F%E9%9D%A2_20250121171827A014.png"; + // 找到最后一个斜杠的位置 + int lastSlashIndex = urlString.lastIndexOf("/"); + // 从斜杠后提取文件名 + String baseUrl = urlString.substring(0, lastSlashIndex); + String fileName = urlString.substring(lastSlashIndex + 1); + String encode = URLEncoder.encode(fileName, "UTF-8"); + urlString = baseUrl + "/" + encode; try (InputStream inputStream = downloadAsStream(urlString)) { // 这里你可以处理输入流,例如将其写入文件或进行其他操作 byte[] buffer = new byte[1024]; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/orc/OcrUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/orc/OcrUtils.java index 68b0f44..fe2b659 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/orc/OcrUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/orc/OcrUtils.java @@ -11,7 +11,6 @@ import com.ruoyi.common.core.utils.UrlDownloader; import java.io.InputStream; -import java.util.Map; public class OcrUtils { @@ -73,7 +72,7 @@ public static void main(String[] args) { try { InputStream inputStream = UrlDownloader.downloadAsStream("http://192.168.110.188:9300/statics/2025/01/21/862dab34c5f83ce2635d219c467ac9f6_20250121170536A004.jpg"); - idCard(inputStream); + idCard(inputStream,"idCard"); } catch (Exception e) { throw new RuntimeException(e); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java index 8866e3f..cf34fe0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController; import java.io.InputStream; +import java.net.URLEncoder; @RestController @RequestMapping("/common") @@ -30,6 +31,13 @@ public R<IdCard> idCard(@Parameter(name = "url", description = "图片地址") String url) { InputStream inputStream; try { + // 找到最后一个斜杠的位置 + int lastSlashIndex = url.lastIndexOf("/"); + // 从斜杠后提取文件名 + String baseUrl = url.substring(0, lastSlashIndex); + String fileName = url.substring(lastSlashIndex + 1); + String encode = URLEncoder.encode(fileName, "UTF-8"); + url = baseUrl + "/" + encode; inputStream = UrlDownloader.downloadAsStream(url); String jsonStr = OcrUtils.idCard(inputStream,"IdCard"); if (StringUtils.isEmpty(jsonStr)){ -- Gitblit v1.7.1