2016-10-10 7 views
5

없이 구동한다. 문제는 드라이브에있는 사진의 품질이 매우 낮고 고화질 비디오가 있어야한다는 것입니다.업로드 사진은 내가 직접 드라이브 폴더에 내 카메라에서 사진을 업로드 할 압축

나는 이미이 솔루션을 Converting bitmap to byteArray android

을 시도하지만 드라이브에 사진이 미디어 파일로 인식 않네 그것을 읽을 수 없습니다. 나는 뭔가를 실패했을 수도 있습니다.

편집 : 나는 정확히 https://stackoverflow.com/a/13000774/6644403이 있고 ActivityResult 내 비트 맵을 얻기 위해 이런 식으로 일을 같은 것을 수행했습니다

try { 
        mBitmapToSave = MediaStore.Images.Media.getBitmap(this.getContentResolver(), data.getData()); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
+0

이 [질문] (http://stackoverflow.com/a/10272781/5995040)에서 설명한대로 출력 이미지에 uri를 제공 할 수 있습니다. 'uri'가 제공되지 않으면, 카메라 인 텐트는 그림의 썸네일만을 반환합니다. 또한이 튜토리얼 - [Android에서 사진 찍기] (http://www.tutorialforandroid.com/2010/10/take-picture-in-android-with.html)에서 수행 방법에 대한 구현 방법을 확인할 수 있습니다. 이걸 제대로. 희망이 도움이됩니다. –

+0

나는 그것을 시도했지만 왜 비트 맵을 얻을 수있는 방법을 찾지 못했는지 모릅니다. uri를 지정하려고하면 전체 크기의 그림을 검색 할 수 없습니다. –

답변

1

를 들어 당신이 cameraIntent에 설정된 경로에 캡처 된 이미지를 얻을 수 있습니다 캡처 이미지 한

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
this.startActivityForResult(cameraIntent, 101); 

를 사용하여 캡처 한 이미지의 실제 이미지 미리 정의 된 경로를 가져옵니다. 미리 정의 된 경로를 설정하지 않으려면 인 텐트 데이터를 확인하십시오.

if (resultCode == android.app.Activity.RESULT_OK && requestCode == 101) { 
     try {   
      path_mm = "Onsuccess_resultcode"; 
      generateNoteOnSD("photo34.txt", path_mm); 
      Bitmap photo = null; 
      if (data == null) { 
         //get Bitmap here. 
      } else { 
       Uri u1 = data.getData(); 
       //get uri and find actual path on that uri. 
       } 
      }catch(Exception ex) {} 
} 

구글이 Uploadation 운전이 링크 Upload large files to Google Drive using GD API를 참조하십시오.

1

내가 WRITE_EXTERNAL_STORAGE에 대한 권리를 요구 않네을 내 매니페스트에했지만, 이후 api23 내가 명시 적으로 물어 봐야 사용자가 괜찮습니다.

이제는 좋은 소식입니다.