如何将base64字符串转换为Blob?

3

有一个同步服务,提供了一个以Base64字符串表示的图像,我想将其保存到SQLite数据库的blob字段中。

有人能告诉我如何进行此操作或者其他方法吗?

之后我需要将图像显示为位图。


将Base64转换为位图,然后将位图转换为Byte[],再将该Byte[]存入数据库。请确保您的列名具有blob类型。 - Sree
请查看http://wiki.lenux.org/base64-string-to-blob-object/。 - Balwinder Singh
2个回答

7
你可以将base64图片字符串转换为byte[]数组,例如:
byte[] decodedByte = Base64.decode(yourBase64String, 0); 

之后您还可以将其转换为位图:

Bitmap bitmap = BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);

我认为我们应该更新: byte[] decodedByte = Base64.decoder.decode(yourBase64String, 0); - Tung
“yourBase64String” 是什么样子?它可能是 “137,80,78,71,13,10,26,10,0,0…” 吗? - mehmet
我认为我们应该更新:byte[] decodedByte = Base64.getDecoder().decode(yourBase64String); - Lorenzo Lerate

2

要将base64字符串转换为byte[],您可以使用以下方法:

byte[] decodedByte = Base64.decode(yourBase64String)

将byte[]转换为Blob,您可以使用以下代码:

Blob b = new SerialBlob(decodedByte);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接