【发布时间】:2013-02-22 10:05:21
【问题描述】:
我成功地将图像以 BLOB 格式存储在数据库中。
webservices模型类中图片的数据类型为byte []。
网络服务:
@POST
@Consumes("application/json")
@Produces("application/json")
@Path("login")
public User Login(User input) {
请求:
[
{
"id": 2,
"password": "******",
"username": "haris",
"image": "iVBORw0KGgoAAAANSUhEUgAizDMizDMizDMizDMizDMizDMizDMizDMizDMizDMiz/JPL/AOc68RGNGkMYAAAAAElFTkSuQmCC"
}
]
我们可以看到json服务转换成String,byte[]转换成String。
我尝试将字符串转换为字节[],但结果我看不到任何图片数据。
byte [] byteData = new byte[imageData().length()];
imageView.setImageBitmap(getImage(byteData));
public static Bitmap getImage(byte[] image) {
return BitmapFactory.decodeByteArray(image, 0, image.length);
}
【问题讨论】:
-
这看起来像 Base64 编码,使用 64=2^6 字符 A-Za-z-9/+ 来编码 6 位,需要 4 个字符代表 3 个字节。
标签: java android arrays rest blob