2012-05-25 248 views
0

是BLOB是通过该图像可以被存储在database.What的唯一数据类型是使用关于便携性BLOB datatype.Please得到基于图像存储教程BLOB.What的优点。图像存储

+0

我想你应该图像转换成位图,然后将位图转换为base64字符串,并在数据库中保存base64字符串... –

+0

您可以给一些基于图像存储的教程。还有关于将性能转换为位图和BLOB。 – subbu

回答

1

除了存储在斑点类型列字节,另一种可能是字节转换为Base64串并简单地存储在文本类型列的字符串。而关于可移植性,您可以决定哪个更好,更喜欢哪个。我个人喜欢用绳子玩,而不是字节:)

图像转换成字符串的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); 
+0

感谢Waqas..Can请您给基于图像的存储和性能和数据库备份一些适当的链接只有双向。我寻找它,但我不能相应链接.. – subbu

+0

你不应该担心性能,如果你的图像尺寸小。看到我更新的图像转换答案 – waqaslam

+0

如果图像的大小很大,该怎么办?就像我使用couchbase lite作为我的数据库一样,但是当我尝试保存大图像(Base64字符串图像)时,它会出现问题。 –