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]; 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); } 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)){