我正在开发一个应用,用户可以在其中上传图片作为短篇博文的一部分;然后,此映像将进行base64编码并存储在MS SQL Server数据库中。当我稍后尝试查看图像时,它不会显示。我在ImageView
中有一个占位符,当要加载图像但实际上没有图像显示时,它会消失。
编码图片:
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
img.compress(Bitmap.CompressFormat.JPEG, 35, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream.toByteArray();
String image = Base64.encodeToString(byteArray, Base64.DEFAULT);
解码图像并放入ImageView
:
byte[] decodeString = Base64.decode(blog.getImage(), Base64.DEFAULT);
Bitmap decodebitmap = BitmapFactory.decodeByteArray(decodeString, 0, decodeString.length);
image1.setImageBitmap(decodebitmap);
非常感谢任何有关我出错的地方的帮助。
答案 0 :(得分:0)
使用此功能从base64获取Bitmap
public static Bitmap decodeBase64(String input)
{
byte[] decodedBytes = Base64.decode(input, 0);
return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
}
此功能会将上述位图设置为ImageView
private void setImage(ImageView iv,Bitmap bitmap)
{
iv.setImageBitmap(bitmap);
}