我以数据库BLOB格式成功存储图像。
webservices模型类中图像的DataType是byte []。
我的网络服务:
@POST
@Consumes("application/json")
@Produces("application/json")
@Path("login")
public Korisnici Login(Korisnici k) {
Korisnici exception = new Korisnici();
............
Json网络服务示例:
[
{
"id": 2,
"ime": "haris",
"mjestoGoogleMaps": null,
"password": "1234",
"username": "haris",
"image": "iVBORw0KGgoAAAANSUhEUgAizDMizDMizDMizDMizDMizDMizDMizDMizDMizDMiz/JPL/AOc68RGNGkMYAAAAAElFTkSuQmCC"
}
]
我们看到json服务转换为String,byte []转换为字符串。
我试图在Android中将转换字符串转换为byte [],但我看不到图片。
这是我的代码:
byte [] b = new byte[getString_Image().length()];
profilna.setImageBitmap(getImage(b));
从字节数组转换为位图
public static Bitmap getImage(byte[] image) {
return BitmapFactory.decodeByteArray(image, 0, image.length);
}
如何解决此问题?
答案 0 :(得分:1)
像这样使用
byte[] decodedString = Base64.decode(img, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
if (bitmap != null) {
Drawable image = new BitmapDrawable(Bitmap.createScaledBitmap(bitmap, 90, 100, true));
}