0

画像をBLOB形式でデータベースに正常に保存しました。

Webサービスモデルクラスの画像のデータ型は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サービスが文字列に変換し、バイト[]が文字列に変換されていることがわかります。

文字列からバイト[]に変換しようとしましたが、結果として画像データが表示されません。

byte [] byteData = new byte[imageData().length()];
            
imageView.setImageBitmap(getImage(byteData));


public static Bitmap getImage(byte[] image) {
    return BitmapFactory.decodeByteArray(image, 0, image.length);
}
4

1 に答える 1

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));
}
于 2013-02-22T10:14:21.113 に答える