From 5a2fd50e8e628bc18d991a44df6fedcaf0332cf6 Mon Sep 17 00:00:00 2001 From: AndyBernie Date: Fri, 21 Aug 2020 14:10:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=8A=A0=E5=85=A5=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/help/BookHelp.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/src/main/java/io/legado/app/help/BookHelp.kt b/app/src/main/java/io/legado/app/help/BookHelp.kt index 7bbbbd001..feb8aff95 100644 --- a/app/src/main/java/io/legado/app/help/BookHelp.kt +++ b/app/src/main/java/io/legado/app/help/BookHelp.kt @@ -7,7 +7,9 @@ import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookChapter import io.legado.app.data.entities.ReplaceRule import io.legado.app.help.coroutine.Coroutine +import io.legado.app.model.analyzeRule.AnalyzeUrl import io.legado.app.model.localBook.LocalBook +import io.legado.app.ui.book.read.page.provider.ChapterProvider.srcPattern import io.legado.app.utils.FileUtils import io.legado.app.utils.MD5Utils import io.legado.app.utils.externalFilesDir @@ -63,11 +65,30 @@ object BookHelp { @Synchronized fun saveContent(book: Book, bookChapter: BookChapter, content: String) { if (content.isEmpty()) return + //保存文本 FileUtils.createFileIfNotExist( downloadDir, formatChapterName(bookChapter), subDirs = *arrayOf(cacheFolderName, bookFolderName(book)) ).writeText(content) + //保存图片 + content.forEachIndexed { index, text -> + val matcher = srcPattern.matcher(text) + if (matcher.find()) { + var src = matcher.group(1) + src = NetworkUtils.getAbsoluteURL(bookChapter.url, src) + src?.let { + val analyzeUrl = AnalyzeUrl(src, null, null, null, null) + analyzeUrl.getImageBytes(book.origin)?.let { + FileUtils.createFileIfNotExist( + downloadDir, + "${MD5Utils.md5Encode16(src)}${src.substringAfterLast(".").substringBefore(",")}", + "images", book.name + ).writeBytes(it) + } + } + } + } postEvent(EventBus.SAVE_CONTENT, bookChapter) }