diff --git a/app/src/main/java/io/legado/app/api/controller/BookController.kt b/app/src/main/java/io/legado/app/api/controller/BookController.kt index 31c698bda..d218f99d6 100644 --- a/app/src/main/java/io/legado/app/api/controller/BookController.kt +++ b/app/src/main/java/io/legado/app/api/controller/BookController.kt @@ -270,4 +270,18 @@ object BookController { return returnData.setData(data) } + /** + * 获取图片 + */ + fun getImage(parameters: Map>): ReturnData { + val returnData = ReturnData() + val coverPath = parameters["path"]?.firstOrNull() + val ftBitmap = ImageLoader.loadBitmap(appCtx, coverPath).submit() + return try { + returnData.setData(ftBitmap.get()) + } catch (e: Exception) { + returnData.setData(BookCover.defaultDrawable.toBitmap()) + } + } + } diff --git a/app/src/main/java/io/legado/app/web/HttpServer.kt b/app/src/main/java/io/legado/app/web/HttpServer.kt index 430b136aa..1911056d6 100644 --- a/app/src/main/java/io/legado/app/web/HttpServer.kt +++ b/app/src/main/java/io/legado/app/web/HttpServer.kt @@ -64,6 +64,7 @@ class HttpServer(port: Int) : NanoHTTPD(port) { "/getReadConfig" -> BookController.getWebReadConfig() "/getRssSource" -> RssSourceController.getSource(parameters) "/getRssSources" -> RssSourceController.sources + "/getImage" -> BookController.getImage(parameters) else -> null } } diff --git a/app/src/main/java/io/legado/app/web/utils/AssetsWeb.kt b/app/src/main/java/io/legado/app/web/utils/AssetsWeb.kt index 22e375555..2e07979f5 100644 --- a/app/src/main/java/io/legado/app/web/utils/AssetsWeb.kt +++ b/app/src/main/java/io/legado/app/web/utils/AssetsWeb.kt @@ -38,6 +38,7 @@ class AssetsWeb(rootPath: String) { suffix.equals(".js", ignoreCase = true) -> "text/javascript" suffix.equals(".css", ignoreCase = true) -> "text/css" suffix.equals(".ico", ignoreCase = true) -> "image/x-icon" + suffix.equals(".jpg", ignoreCase = true) -> "image/jpg" else -> "text/html" } }