从JSON webservice中检索android中的byte []

时间:2013-02-22 10:05:21

标签: java android rest bytearray blob

我以数据库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);
}

如何解决此问题?

1 个答案:

答案 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));
}