android
jsp
mysql
에서
mysql ====================================================================
medium blob 타입으로 loadfile("c:\\1.jpg") 을 저장해놨습니다.
==========================================================================
jsp ======================================================================
그리고 제이손 객체를 만들어서 제이손 어레이로 만들어서 안드로이드로 보내줍니다.
JSONArray arrayObj = new JSONArray();
JSONObject obj = new JSONObject();
...........생략
obj.put("fr_photo", rs.getBlob("f_photo"));
arrayObj.add(obj);
out.print(arrayObj);
out.flush();
==============================================================
ANDROID ====================================================
그런데 android 에서 이 파일을 payload가 가져온값
jArray = new JSONArray(payload);
for(int i=0;i<jArray.length();i++){
String friend_name = jArray.getJSONObject(i).getString("f_name");
String friend_memo = jArray.getJSONObject(i).getString("f_memo");
String friend_photo = jArray.getJSONObject(i).getString("f_photo"); <<--- getBlob가 없네요??
Log.d("RoomList", friend_name);
Log.d("RoomList", friend_memo);
friend_infor tem = new friend_infor(friend_name, friend_memo, friend_photo);
list.add(tem);
}
여기에서 질문있습니다.
mysql에 blob 로 저장된 파일을 제이손객체에 getBlob로 담았는데 그것을 받을때
안드로이드에서 String 으로 받아서 저장했고,
Bitmap bmp = BitmapFactory.decodeByteArray( friend_photo.getBytes(), 0, .friend_photo.getBytes().length);
imgIcon.setScaleType(ImageView.ScaleType.FIT_XY);
imgIcon.setImageBitmap(bmp);
이렇게 해봤는데, 제 방식이 완전이 잘 못되고 문제가 있는 것 같습니다.
사진 이미지 웹서버에 저장및 출력에 대해서 예제 코드 좀 보여주시거나 도움 주실분 꼭 부탁드립니다.
base64로 인코딩해서 디코딩 하라고 하시는 분은 정확하게 알려주세요ㅠ mysql에서 base64로 인코딩??은 어떻게 하는지
android에서는 무엇으로 받아서 어떻게 출력하는지 알려주세요..
BLOB friend_photo = (BLOB)jArray.getJSONObject(i).getObject("f_photo");
이런 식으로 Object를 받아서 BLOB type으로 캐스팅 해보시면 어떨까 합니다.