【问题标题】:Unable to catch an exception while decoding a base64 string on Kotlin在 Kotlin 上解码 base64 字符串时无法捕获异常
【发布时间】:2020-10-07 17:24:38
【问题描述】:

我正在尝试在 BitMap 中转换 base64 字符串,以便在 ImageView 中显示照片。我失败了,因为我收到了一个错误的字符串(如何解决这个问题不是本主题的范围),所以我尝试使用 try-catch 块来处理这种情况。 好吧,这个块不起作用,因为没有抛出异常。从下图下方的 Logcat 中可以看到,Base64 对象(或 BitmapFactory 对象)只是写了一个关于失败的日志(D/skia: failed to create image decoder with message 'unimplemented'),但是不要启动任何异常。相反,我的 PHOTO 标记日志没有任何痕迹。 我该如何手动管理这种情况?

(如果你觉得我的英语奇怪或难以阅读,我很抱歉。我不是母语,但任何关于它的帮助或批评都可以接受)

【问题讨论】:

    标签: android kotlin exception base64 decode


    【解决方案1】:

    它是编码为 Base64 的压缩图像吗? (如.jpg 或.png) 如果是这样,则图像解码器不支持图像的格式。

    否则,如果是Base64编码的原始数据,则应使用Bitmap.createBitmap()创建Bitmap。

    【讨论】:

    • 我通过 Node-RED 节点拍摄照片,并在编码后通过 MQTT 将其传递给 Android 应用程序。我正在检查节点是否对图像应用了某种格式......无论如何我并不是想解决它,只是为了捕捉到我收到错误字符串的情况
    • 我确认我发送了原始数据。我解决了主要问题,但我仍然想知道如何处理收到错误 base64 字符串的情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-16
    • 2020-03-13
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多