BITMAP To BASE64

-- Android 2015. 7. 21. 18:40
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
프로젝트에서 클라이언트에서 이미지를 서버로 전송한 후 DB에 저장하는 이슈가 생겼다.
소켓으로 바이트배열로 전송하면 되는데, DB에 저장은 base64 image로 하고,
안드로이드에서 표시할 때 base64를 decode하여 표시하기 위해 아래의 함수를 사용하였다.


1. Bitmap To Base64

ByteArrayOutputStream baos = new ByteArrayOutputStream();
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.test);

// convert stream
bm.compress(CompressFormat.PNG, 100, baos);

// convert byte array
byte[] bImage = baos.toByteArray();

// convert base64
String base64 = Base64.encodeToString(bImage, 0);


2. Base64 To Bitmap

// convert base64
byte[] bImage = Base64.decode(base64, 0);

// convert stream
ByteArrayInputStream bais = new ByteArrayInputStream(bImage);

// convert image
Bitmap bm = BitmapFactory.decodeStream(bais);
posted by 어린왕자악꿍