From 1ba9ce009e931b96a1827984b74a2ea5ed5da441 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Tue, 4 Jun 2024 09:02:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #3968 --- .../java/me/ag2s/epublib/epub/PackageDocumentReader.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/book/src/main/java/me/ag2s/epublib/epub/PackageDocumentReader.java b/modules/book/src/main/java/me/ag2s/epublib/epub/PackageDocumentReader.java index a73fd48e1..e14dd2a34 100644 --- a/modules/book/src/main/java/me/ag2s/epublib/epub/PackageDocumentReader.java +++ b/modules/book/src/main/java/me/ag2s/epublib/epub/PackageDocumentReader.java @@ -107,10 +107,12 @@ public class PackageDocumentReader extends PackageDocumentBase { .getElementsByTagNameNS(NAMESPACE_OPF, OPFTags.item); for (int i = 0; i < originItemElements.getLength(); i++) { Element itemElement = (Element) originItemElements.item(i); - fixedElements.add(itemElement); String href = DOMUtil.getAttribute(itemElement, NAMESPACE_OPF, OPFAttributes.href); + String resolvedHref = packagePath.resolve(href).toString(); + itemElement.setAttribute("href", resolvedHref); + fixedElements.add(itemElement); try { - href = URLDecoder.decode(packagePath.resolve(href).toString(), Constants.CHARACTER_ENCODING); + href = URLDecoder.decode(resolvedHref, Constants.CHARACTER_ENCODING); } catch (UnsupportedEncodingException e) { Log.e(TAG, e.getMessage()); } @@ -177,7 +179,7 @@ public class PackageDocumentReader extends PackageDocumentBase { .getAttribute(itemElement, NAMESPACE_OPF, OPFAttributes.href); try { - href = URLDecoder.decode(packagePath.resolve(href).toString(), Constants.CHARACTER_ENCODING); + href = URLDecoder.decode(href, Constants.CHARACTER_ENCODING); } catch (UnsupportedEncodingException e) { Log.e(TAG, e.getMessage()); }