0

BLOB是唯一可以将图像存储在数据库中的数据类型吗?使用BLOB有什么优势。BLOB数据类型的可移植性如何。请给出基于图像存储的教程。

4

2 回答 2

1

除了将字节存储在Blob类型的列中,另一种方法是将字节转换为Base64字符串并将该字符串简单地存储在Text类型的列中。关于便携性,您可以决定哪个更好并且您更喜欢哪个。我个人喜欢玩字符串而不是字节:)

要将图像转换为 Base64 字符串:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
mBitmap.compress(Bitmap.CompressFormat.JPEG, 80, stream);
final byte[] byteArray = stream.toByteArray();
final String imgString = Base64.encodeToString(byteArray, Base64.DEFAULT);

要将 Base64 字符串转换为图像:

byte[] byteArray = Base64.decode(imgString, Base64.DEFAULT);
Bitmap mBitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
于 2012-05-25T06:04:13.777 回答
0

您可以将该图像的字节数组存储在数据库中,而不是存储图像。您可以将该图像转换为字节数组并存储在数据库中。当您想要检索该图像时,您将从将该字节数组转换为位图获得字节数组,你会得到你的形象。

http://www.coderanch.com/t/550604/Android/Mobile/Help-insert-retreive-image-database

于 2012-05-25T05:55:25.367 回答