BLOB是唯一可以将图像存储在数据库中的数据类型吗?使用BLOB有什么优势。BLOB数据类型的可移植性如何。请给出基于图像存储的教程。
问问题
987 次
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 回答