안녕하세요
핸드폰에 있는 갤러리를 서버에 업로드 시키려고 하는데 ,, Out of memory 문제가 발생을 하여서요,,
일단 저는
intent 에서 넘어온 사진 정보를 비트맵으로 이미지뷰에 셋을하였고 , getStringImage라는 메소드로 이미지를 인코딩하여 서버로 보냈습니다.
여기서 1.2MB 이하의 데이터는 서버로 잘 전송되는반면.. 그 이상의 크기는 Out of memory 오류가 발생합니다.
같은 오류를 겪으신분들이나 사진용량을 줄이는법을 알고 계시다면..댓글 감사하겠습니다.
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
Uri filePath = data.getData();
try {
//Getting the Bitmap from Gallery
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
}
getStringImage(이미지 인코딩)
public String getStringImage(Bitmap bitmap){
Log.i("MyHitesh",""+bitmap);
ByteArrayOutputStream baos=new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG,100, baos);
byte [] b=baos.toByteArray();
String temp= Base64.encodeToString(b, Base64.DEFAULT);
return temp;
}