2011-12-28 3 views
1

사용자가 선택한 Android에서 이미지를 서블릿으로 보내야합니다. 이미 selectedImagePath 변수에 선택한 이미지 경로가 있습니다. 이제 이미지를 다른 정보와 함께 서버에 보내야합니다. 내가 무슨 짓을하는 것입니다 :android에서 XML을 통해 이미지 보내기

Bitmap image = BitmapFactory.decodeFile(selectedImagePath); 
int height = image.getHeight(); 
int width = image.getWidth(); 
int[] pixels = new int[width * height]; 
image.getPixels(pixels, 0, width, 0, 0, width, height); 

내 생각은 쉼표로 XML을 통해 문자열을 분리으로 pixel 배열의 색상 값을 보내는 것입니다. 나는 Integer.toHexString이 도움이 될 것이라고 생각합니다. 예를 들어

서버 측에서
<width>300</width> 
<height>400</height> 
<data>0xffffff,0xff00ff,0xffff00,...</data> 

, 색상 값을 디코딩하고 BufferedImage를 만들고 ImageIO.write을 사용하여 파일 시스템에 저장한다.

자, 내 질문은 :

  • 가이 작업을 수행하는 올바른 방법이 있나요?
  • 이 작업을 수행하는 다른 더 효율적인 방법이 있습니까?
+2

이 왜 인코딩하지 않는

감사를 보내 텍스트 기반 방식으로 쉽게 전송할 수있는 Base64 형식의 이미지? – Raptor

답변

3

스텝 1 바이트 []를 Base64로 바이트 배열에

스텝 2 인코딩을 비트 맵 이미지를 변환