마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

앨범or사진촬영해서 가져온 이미지를 DB에 저장하고싶어요...

0 추천

DB에 이미지를 넣을땐 uri 경로를 넣는ㄱㅓ까지는 알겠는데.. 제가 지금 사진을 앨범에서 혹은 촬영해서 

가져온 이미지를 화면에 보여주는거 까지는 성공을 했어요! 하지만.. 이렇게 선택된 이미지를 db에 어떻게 넣어야 하는지 모르겠네용 ㅠㅠㅠ 고수님들 제발 도와주세요 ㅠㅠ

사진 pick 하는 소스참조는 http://jeongchul.tistory.com/287  님 블로그에서 했습니다!! 

 

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(resultCode != RESULT_OK)
        return;

    switch(requestCode)
    {
        case PICK_FROM_ALBUM:
        {
            // 이후의 처리가 카메라와 같으므로 일단  break없이 진행합니다.
            // 실제 코드에서는 좀더 합리적인 방법을 선택하시기 바랍니다.
            mImageCaptureUri = data.getData();
            Log.d("SmartWheel", mImageCaptureUri.getPath().toString());
        }


        case PICK_FROM_CAMERA:
        {
            // 이미지를 가져온 이후의 리사이즈할 이미지 크기를 결정합니다.
            // 이후에 이미지 크롭 어플리케이션을 호출하게 됩니다.
            Intent intent = new Intent("com.android.camera.action.CROP");
            intent.setDataAndType(mImageCaptureUri, "image/*");


            // CROP할 이미지를 200*200 크기로 저장
            intent.putExtra("outputX", 200); // CROP한 이미지의 x축 크기
            intent.putExtra("outputY", 200); // CROP한 이미지의 y축 크기
            intent.putExtra("aspectX", 1); // CROP 박스의 X축 비율
            intent.putExtra("aspectY", 1); // CROP 박스의 Y축 비율
            intent.putExtra("scale", true);
            intent.putExtra("return-data", true);
            startActivityForResult(intent, CROP_FROM_iMAGE); // CROP_FROM_CAMERA case문 이동
            break;
        }
        case CROP_FROM_iMAGE:
        {
            // 크롭이 된 이후의 이미지를 넘겨 받습니다.
            // 이미지뷰에 이미지를 보여준다거나 부가적인 작업 이후에
            // 임시 파일을 삭제합니다.
            if(resultCode != RESULT_OK) {
                return;
            }


            final Bundle extras = data.getExtras();


            // CROP된 이미지를 저장하기 위한 FILE 경로
            String filePath = Environment.getExternalStorageDirectory().getAbsolutePath()+
                    "/SmartWheel/"+System.currentTimeMillis()+".jpg";


            if(extras != null)
            {
                Bitmap photo = extras.getParcelable("data"); // CROP된 BITMAP
                iv_UserPhoto.setImageBitmap(photo); // 레이아웃의 이미지칸에 CROP된 BITMAP을 보여줌


                storeCropImage(photo, filePath); // CROP된 이미지를 외부저장소, 앨범에 저장한다.
                absoultePath = filePath;
                break;


            }
            // 임시 파일 삭제
            File f = new File(mImageCaptureUri.getPath());
            if(f.exists())
            {
                f.delete();
            }
        }
    }



}
뚜루루루둡 (1,130 포인트) 님이 2016년 10월 31일 질문

2개의 답변

0 추천
사진 파일은 FTP로 서버에 업로드 하시고

그 경로만 DB에 저장해두세요
찔라 (280 포인트) 님이 2016년 11월 6일 답변
0 추천
multipart 파일전송 알아보세요
방랑자 님이 2016년 11월 6일 답변
...