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

crop한 uri를 가지고 서버에 업로드 하고 싶은데 방법을 모르겠네요.... [closed]

0 추천

https://github.com/jdamcd/android-crop 

여기 crop라이브러리를 통해 이미지를 자를려고 하는데 우선 

인텐트를 이용해 앨범에 접근하고 startActivityForResult를 실행하고

beginCrop메서드 -> handleCrop메서드를 통해서 Crop.getOutput(인텐트)를 이미지뷰에 setImageUri메서드에 

집어넣으면 크롭한 사진이 뜨기는 하는데 

 

저는 이 크롭한 이미지 Uri 즉, Crop.getOutput(인텐트)를 가지고 밑에 메서드 data변수에 집어넣어

public static String getImageNameToUri(Context context,Uri data, int type){  

String[] proj = {MediaStore.Images.Media.DATA};                                                                               
        Cursor cursor = context.getContentResolver().query(data, proj, null, null, null);                  
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);                                                           

        cursor.moveToFirst();                                                                                                     

        String imgPath = cursor.getString(column_index);                                                                             
        String imgName = imgPath.substring(imgPath.lastIndexOf("/") + 1);

 

 

사진의 이름과 주소를 String으로 저장하고 php를 통해 개인 서버에 업로드할려고 하는데,(크롭 안한 이미지는 서버에 잘 업로드 됩니다.)

Cursor cursor = context.getContentResolver().query(data, proj, null, null, null); 이 부분에서 에러가 뜨더군요....

디버그를 통해서 확인해 봤는데 크롭한 이미지는 첫번째 사진의 uriString처럼 "file:///data/~~~cropped" 라고 뜨고

크롭하지 않고 기존의 이미지만 불러왔을시, 두번째 사진처럼 uriString가 content://media/~~~44577

라고 뜨던데 제 생각에는 context.getContentResolver().query(data, proj, null, null, null);  이 부분 실행될때 content가 아닌 file이 와서 안되는거 같은데 

그래서 크롭한 이미지 Uri를 intent.setType(MediaStore.images.Media.CONTENT_TYPE)로 다시 바꾸니

content://~~~로는 나오는데 엉뚱한 사진만 자꾸 서버에 업로드 되고, 위의 라이브러리 빼고 

http://theeye.pe.kr/archives/1285 

이 사이트 에 나온 코드를 이용했지만, 사진은 뜨나 사진이 엄청 흐릿하게 나오길래 또 여기저기 검색결과 Bundle로 받으면 고화질 사진은 제대로 전달이 안될수도 있다고 하던군요...

일단 제가 원하는건 처음 알려드린 라이브러리를 통해 크롭한 이미지 Uri를 getImageNameToUri() 메서드 넣어 

이미지 이름과 주소를 따로 빼고싶은데 어떻게 해야될까요.....?

 

 

 

(글이 너무 엉망진창인거 같은데 죄송합니다......)

 

질문을 종료한 이유: 다른질문을 위해
alsdn1398 (220 포인트) 님이 2018년 8월 12일 질문
alsdn1398님이 2018년 8월 14일 closed
...