如何在Kotlin Android中将pdf文件编码为base64字符串

时间:2019-02-25 09:44:24

标签: android kotlin kotlin-android-extensions

无法在Android Pie中将pdf文件转换为base64,文件路径返回为“ content://com.android.providers.downloads.documents/document/4402” 因此不是unable to access the file的真实路径。

3 个答案:

答案 0 :(得分:1)

不推荐使用file:///path uri,后来又放弃了。

您需要使用ContentResolver来访问content://auth/path uri。

答案 1 :(得分:1)

尝试

fun convertToBase64(attachment: File): String {
    return Base64.encodeToString(attachment.readBytes(), Base64.NO_WRAP)
}

答案 2 :(得分:1)

我们可以将以下整个类用于我们的项目中,以获取真正的路径,我找到了解决问题的方法

https://github.com/flutter/plugins/blob/master/packages/image_picker/android/src/main/java/io/flutter/plugins/imagepicker/FileUtils.java

之后,我使用以下代码将pdf文件转换为base64字符串编码

fun convertToBase64(attachment: File): String { return Base64.encodeToString(attachment.readBytes(), Base64.NO_WRAP) }