Quellcode durchsuchen

Fix image extension. fix #635

Karlatemp vor 5 Jahren
Ursprung
Commit
d1bd88c001

+ 1 - 1
mirai-core-api/src/commonMain/kotlin/utils/ExternalImage.kt

@@ -87,7 +87,7 @@ public class ExternalImage internal constructor(
         return "ExternalImage(${generateUUID(md5)})"
     }
 
-    internal fun calculateImageResourceId(): String = generateImageId(md5)
+    internal fun calculateImageResourceId(): String = """{${generateUUID(md5)}}.$formatName"""
 
     private fun String.detectFormatName(): String = when {
         startsWith("FFD8") -> "jpg"

+ 4 - 1
mirai-core/src/commonMain/kotlin/message/imagesImpl.kt

@@ -26,7 +26,10 @@ internal class OnlineGroupImageImpl(
     internal val delegate: ImMsgBody.CustomFace
 ) : @Suppress("DEPRECATION")
 OnlineGroupImage() {
-    override val imageId: String = ExternalImage.generateImageId(delegate.md5)
+    override val imageId: String = delegate.filePath.takeIf {
+        GROUP_IMAGE_ID_REGEX.matches(it)
+    } ?: ExternalImage.generateImageId(delegate.md5)
+
     override val originUrl: String
         get() = if (delegate.origUrl.isBlank()) {
             "http://gchat.qpic.cn/gchatpic_new/0/0-0-${