瀏覽代碼

Fix image MIME issues that cause download errors (#7562)

* Downloader: ignore non-image MIME to prevent .bin extensions

* ProgressResponseBody: allow null content type

Co-authored-by: anenasa <[email protected]>

Co-authored-by: anenasa <[email protected]>
(cherry picked from commit 3547d0142f96c44da7fe1ee5bd6424fea679efa6)
stevenyomi 2 年之前
父節點
當前提交
e296d56e09

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt

@@ -465,7 +465,7 @@ class Downloader(
      */
     private fun getImageExtension(response: Response, file: UniFile): String {
         // Read content type if available.
-        val mime = response.body?.contentType()?.let { ct -> "${ct.type}/${ct.subtype}" }
+        val mime = response.body?.contentType()?.run { if (type == "image") "image/$subtype" else null }
             // Else guess from the uri.
             ?: context.contentResolver.getType(file.uri)
             // Else read magic numbers.

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/network/ProgressResponseBody.kt

@@ -15,8 +15,8 @@ class ProgressResponseBody(private val responseBody: ResponseBody, private val p
         source(responseBody.source()).buffer()
     }
 
-    override fun contentType(): MediaType {
-        return responseBody.contentType()!!
+    override fun contentType(): MediaType? {
+        return responseBody.contentType()
     }
 
     override fun contentLength(): Long {