From fac5f3158fa38a3d7dcdd55e4fe1fbce2aedab46 Mon Sep 17 00:00:00 2001 From: otto <731554297@qq.com> Date: Mon, 18 May 2026 10:01:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(AI=E8=B5=84=E6=BA=90=E5=B9=BF=E5=9C=BA):?= =?UTF-8?q?=20=E6=A8=A1=E5=9E=8B=E5=92=8C=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 检索根目录README.md文件时需要忽略大小写 --- .../service/impl/AiSkillParseServiceImpl.java | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/service/impl/AiSkillParseServiceImpl.java b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/service/impl/AiSkillParseServiceImpl.java index 2f782e01e..d0336e236 100644 --- a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/service/impl/AiSkillParseServiceImpl.java +++ b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/resource/service/impl/AiSkillParseServiceImpl.java @@ -195,16 +195,37 @@ public class AiSkillParseServiceImpl implements IAiSkillParseService { } private String findAndReadReadmeMd(ZipFile zf, List nodes) throws IOException { - // 优先查找根目录 README.md - ZipArchiveEntry readmeEntry = zf.getEntry(README_MD_FILE); + // 优先查找根目录 README.md(忽略大小写) + Enumeration entries = zf.getEntries(); + ZipArchiveEntry readmeEntry = null; + + // 查找根目录下的 README.md + while (entries.hasMoreElements()) { + ZipArchiveEntry entry = entries.nextElement(); + String fileName = new File(entry.getName()).getName(); + if (README_MD_FILE.equalsIgnoreCase(fileName) && entry.getName().indexOf('/') == -1) { + readmeEntry = entry; + break; + } + } + if (readmeEntry != null && !readmeEntry.isDirectory()) { return readZipEntryContent(zf, readmeEntry); } - // 其次查找顶层唯一文件夹下的 README.md + // 其次查找顶层唯一文件夹下的 README.md(忽略大小写) String topFolder = findSingleTopFolder(nodes); if (topFolder != null) { - readmeEntry = zf.getEntry(topFolder + "/" + README_MD_FILE); + entries = zf.getEntries(); // 重置枚举 + while (entries.hasMoreElements()) { + ZipArchiveEntry entry = entries.nextElement(); + String expectedPath = topFolder + "/" + README_MD_FILE; + if (expectedPath.equalsIgnoreCase(entry.getName())) { + readmeEntry = entry; + break; + } + } + if (readmeEntry != null && !readmeEntry.isDirectory()) { return readZipEntryContent(zf, readmeEntry); }