ByteArrayOutputStream stream = new ByteArrayOutputStream();
bit.compress(CompressFormat.JPEG, 100, stream);
byte[] b = stream.toByteArray();
위 코드처럼 안드로이드에서 이미지를 바이트로 변환한 후
$ID=$_REQUEST[id];
$myImage=$_REQUEST[myImage];
$sql="update users set myImage='$myImage' where ID='$ID'";
$result = mysql_query($sql);
php에서 DB를 업데이트 한 후
$sql2="select * from users where ID='$ID'";
$result2 = mysql_query($sql2);
$base = $obj->myImage;
$myImage = base64_encode($base);
위 코드로 다시 DB값을 받아와서 base64로 인코딩해서
xml에 넣어주는 식으로 구현하고 있는데
지금 앱을 실행해서 사진을 넣어보면
<myImage>W0JANDUyZjM0NTA=</myImage>
와 같이 xml에 값이 들어가 있습니다.
이 xml에 접속해서
else if ( xmlPullParser.getName().equals("myImage")){
String b1 = xmlPullParser.nextText().trim();
if ( b1.equals(" ")){
}
else {
byte[] b = Base64.decode(b1, 0);
Bitmap bit = BitmapFactory.decodeByteArray(b, 0, b.length);
plusmypicture.setImageBitmap(bit);
}
}
와 같이 파싱한 후 base64로 디코딩하면
illegalargumentexception 이 뜨면서
bad base-64라고 나옵니다.
이게 값이 제대로 들어간 건지도 모르겠고
이렇게 디비에 blob을 넣어도 되는건지도 모르겠습니다ㅠㅠㅠ
이미지 문제때문에 몇일째 계속 고생하다 결국에 질문을 올립니다ㅠㅠㅠ
제발 도와주세요ㅠㅠㅠㅠ