在 Kotlin 中将 Base 64 转换为位图的问题 - Android

问题描述 投票:0回答:1

我正在使用以下方法将 Base64 图像转换为位图:

fun convertString64ToImage(base64String: String): Bitmap {
   val decodedString = Base64.getDecoder().decode(base64String)
   return BitmapFactory.decodeByteArray(decodedString, 0, decodedString.size)
}

但不幸的是出现如下错误:

非法base64字符a

致命例外:主要 进程:com.myapp.app,PID:27391 java.lang.IllegalArgumentException: 非法的 base64 字符 a 在 java.util.Base64$Decoder.decode0(Base64.java:714) 在 java.util.Base64$Decoder.decode(Base64.java:526) 在 java.util.Base64$Decoder.decode(Base64.java:549) 在 com.myapp.sdk.view.BaseActivity$Utility.convertString64ToImage(BaseActivity.kt:201) 在 com.myapp.sdk.view.document.ScanActivity.setResultToView(ScanActivity.kt:426) 在 com.myapp.sdk.view.document.ScanActivity.completion$lambda-3(DocumentScanActivity.kt:274) 在 com.myapp.sdk.view.document.ScanActivity.$r8$lambda$mFUznctDAtk-c_-MzvUsX70AtrY(未知来源:0)

可能是什么问题?

android kotlin bitmap base64 android-bitmap
1个回答
0
投票

你用错了类。
您需要使用

android.util.Base64
而不是
java.util.Base64
。然后调用
Base64.decode()
方法。

© www.soinside.com 2019 - 2024. All rights reserved.