我正在使用以下方法将 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.util.Base64
而不是 java.util.Base64
。然后调用Base64.decode()
方法。