From 9edc02f696bf1f9f71a423788edbae2ff5ec39cb Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Wed, 8 May 2024 16:33:21 +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 --- .gitignore | 1 + app/src/main/java/io/legado/app/help/AppWebDav.kt | 2 +- app/src/main/java/io/legado/app/lib/webdav/WebDav.kt | 7 ++++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 5ba10ef1c..b7251a37d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ local.properties .DS_Store /build +build/ /captures .externalNativeBuild /release diff --git a/app/src/main/java/io/legado/app/help/AppWebDav.kt b/app/src/main/java/io/legado/app/help/AppWebDav.kt index d821c7332..ac7890037 100644 --- a/app/src/main/java/io/legado/app/help/AppWebDav.kt +++ b/app/src/main/java/io/legado/app/help/AppWebDav.kt @@ -73,7 +73,7 @@ object AppWebDav { WebDav(bookProgressUrl, mAuthorization).makeAsDir() WebDav(exportsWebDavUrl, mAuthorization).makeAsDir() WebDav(bgWebDavUrl, mAuthorization).makeAsDir() - val rootBooksUrl = "${rootWebDavUrl}books" + val rootBooksUrl = "${rootWebDavUrl}books/" defaultBookWebDav = RemoteBookWebDav(rootBooksUrl, mAuthorization) authorization = mAuthorization } diff --git a/app/src/main/java/io/legado/app/lib/webdav/WebDav.kt b/app/src/main/java/io/legado/app/lib/webdav/WebDav.kt index d9f3770b5..27872faa1 100644 --- a/app/src/main/java/io/legado/app/lib/webdav/WebDav.kt +++ b/app/src/main/java/io/legado/app/lib/webdav/WebDav.kt @@ -178,13 +178,14 @@ open class WebDav( //依然是优化支持 caddy 自建的 WebDav ,其目录后缀都为“/”, 所以删除“/”的判定,不然无法获取该目录项 val href = element.findNS("href", ns)[0].text().replace("+", "%2B") val hrefDecode = URLDecoder.decode(href, "UTF-8") - .removeSuffix("/") - val fileName = hrefDecode.substringAfterLast("/") val webDavFile: WebDav try { val urlName = hrefDecode.ifEmpty { url.file.replace("/", "") } + val displayName = element + .findNS("displayname", ns) + .firstOrNull()?.text().orEmpty() val contentType = element .findNS("getcontenttype", ns) .firstOrNull()?.text().orEmpty() @@ -206,7 +207,7 @@ open class WebDav( webDavFile = WebDavFile( fullURL, authorization, - displayName = fileName, + displayName = displayName, urlName = urlName, size = size, contentType = contentType,