2012-04-06 3 views
5

내 안드로이드 장치가 서버에 png 이미지를 요청합니다. 서버는 Base64로 이미지를 인코딩하여 내 장치로 보냅니다. 그런 다음 Base64 문자열을 바이트 배열로 디코딩하고 BitmapFactory.decodeByteArray()를 사용하여 비트 맵 이미지를 만듭니다. ImageView에 이미지를 추가 할 때 이미지를 볼 수 없습니다.Base64로 인코딩 된 png 이미지를 어떻게 디코딩하고 ImageView에서 볼 수 있습니까?

코드는 아래를 참조하십시오 :

JSONObject params = resultObject.getJSONObject("params"); 
byte[] decodedImageInBytes = Base64.decode(params.getString("image_one"), Base64.DEFAULT); 

Bitmap myImage = BitmapFactory.decodeByteArray(decodedImageInBytes, 0, decodedImageInBytes.length); 
ImageView imageViewOne = (ImageView) findViewById(R.id.imageViewOne); 
imageViewOne.setImageBitmap(myImage); 

편집 :

내 코드가 좋아 것 같다, 내가 서버와 몇 가지 문제가있다. 모두에게 감사드립니다!

+0

'params.getString ("image_one")'의 예는? –

+0

base64로 인코딩 된 이미지의 문자열입니다. – Xarialon

+3

그 점을 이해합니다. 그런 base64 문자열의 예제를 게시 할 수 있습니까? –

답변

3

나는 당신을 위해 당신의 문자열을 해독했습니다. 비트 맵 데이터가 아닙니다.

Unknown error type: [2] include(/home/hospitalit/domains/hospitalitymanager.nl/public_html/demo/application//controllers/global/statistic_images/reservation_guest_rank) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory<br /> 
on line 45 in file /home/hospitalit/domains/hospitalitymanager.nl/public_html/demo/application/controllers/api/statistics/index.phpUnknown error type: [2] include() [<a href='function.include'>function.include</a>]: Failed opening '/home/hospitalit/domains/hospitalitymanager.nl/public_html/demo/application//controllers/global/statistic_images/reservation_guest_rank' for inclusion (include_path='.:/usr/local/lib/php')<br /> 
on line 45 in file /home/hospitalit/domains/hospitalitymanager.nl/public_html/demo/application/controllers/api/statistics/index.php 
+0

그래, 나도 그걸 보았다. : D 힘든 당신의 도움에 감사드립니다! – Xarialon

관련 문제