From 66f7e9045df3aa0808870ae2a8522f1cf1da0ef4 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 21 一月 2025 17:36:45 +0800
Subject: [PATCH] 文件下载bug

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CommonController.java |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

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 fddfde9..6353cd7 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
@@ -5,24 +5,36 @@
 import com.ruoyi.common.core.utils.UrlDownloader;
 import com.ruoyi.common.core.utils.orc.OcrUtils;
 import com.ruoyi.system.api.model.IdCard;
+import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.io.InputStream;
+import java.net.URLEncoder;
 
 @RestController
 @RequestMapping("/common")
+@Tag(name = "通用接口")
 public class CommonController {
 
     /**
      * ocr提取身份证信息
      */
     @GetMapping("/idCard")
+    @Operation(summary = "ocr提取身份证信息", description = "ocr提取身份证信息")
     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);
             JSONObject jsonObject = OcrUtils.idCard(inputStream);
             IdCard idCard = JSONObject.parseObject(jsonObject.toJSONString(), IdCard.class);

--
Gitblit v1.7.1