在 Android 中将图像对象转换为 Base64 字符串

Convert Image object to Base64 String in Android

我看过大量相关问题,但其中 none 实际上回答了问题,许多只是断章取意地使用了带有未定义变量的代码片段。

我需要将图像存储在数据库中(据我所知我应该使用 Base64 编码的字符串),并在 android 代码中将它们用作图像对象。

根据我的计算,我需要将Image 转换为Bitmap,然后Bitmap 才能转换为Base64 字符串。但是我终生无法弄清楚如何将图像转换为位图。感谢任何帮助。

编辑:虽然其他问题会将图像从文件位置转换为字符串,但我没有文件位置。该图像仅作为 android.media.Image 的一个实例存储,我不知道如何使用文件路径或任何类似的方式访问它。

编辑 2:好的,这是我的设置:图像将作为 Base64 编码字符串存储在 Firebase 数据库中。当我需要它们时,我会从那里拉出字符串并将其转换成一个 Image 对象,这只是我暂时拥有的一个变量。它们永远不会 在本地存储,只有在实际应用程序中它们才是图像对象。

只需将您的 base64 字符串转换为位图,然后使用以下代码将该位图加载到 imageview 中

byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
image.setImageBitmap(decodedByte);