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