2017-10-18 15 views
0

사진을 찍어 Amazon S3에 업로드하는 Android 앱을 제작하고 있습니다. 내 코드가 실제로 실행중인 것 (디버그 중단 점을 통해 확인 됨)에서 제대로 실행되고 있지만 업로드되지 않는 것 같습니다. 오류 메시지가 나타나지 않고 응용 프로그램에 넣은 log.d 메시지가 logcat에 나타나지 않습니다.Android 앱 S3 업로드가 작동하지 않습니다. 오류 없음

나는이 아마존 자습서를 사용하고 있습니다 : 나는 코드를 실행 처음으로, 나는 TransferUtility.builder()을 didnt가 .s3Client 그래서 내가 넣어 가지고 불평 오류를 가지고

http://docs.aws.amazon.com/mobile-hub/latest/developerguide/add-aws-mobile-user-data-storage.html#add-aws-mobile-user-data-storage-app 점에서

잘못된 코드 :.

private void uploadImage(){ 
 
     AWSConfiguration awsConfig = 
 
       new AWSConfiguration(getActivity().getApplicationContext()); 
 
     AmazonS3Client s3Client = new AmazonS3Client(IdentityManager.getDefaultIdentityManager() 
 
       .getCredentialsProvider().getCredentials()); 
 

 
     TransferUtility transferUtility = 
 
       TransferUtility.builder() 
 
         .context(getActivity().getApplicationContext()) 
 
         .awsConfiguration(awsConfig) 
 
         .s3Client(s3Client) 
 
         .build(); 
 

 
     TransferObserver uploadObserver = 
 
       transferUtility.upload(
 
         "sniffer-gps-app/UserDogPhotos/"+userId+photoFile.getName(), 
 
         photoFile); 
 

 
     uploadObserver.setTransferListener(new TransferListener() { 
 

 
      @Override 
 
      public void onStateChanged(int id, TransferState state) { 
 
       if (TransferState.COMPLETED == state) { 
 
        //todo something here 
 
        Log.d("S3", "done"); 
 
        nextFragment(); 
 
       } 
 

 
      } 
 

 
      @Override 
 
      public void onProgressChanged(
 
        int id, long bytesCurrent, long bytesTotal) { 
 
       Log.d("S3", "ID: "+id+"\r\nBytesCurrent: "+bytesCurrent+"\r\nBytesTotal: "+bytesTotal); 
 
       // TODO Auto-generated method stub 
 

 
      } 
 

 
      @Override 
 
      public void onError(int id, Exception ex) { 
 
       Log.d("S3", ex.toString()); 
 
       Integer ID = id; 
 
       Log.d("S3", ID.toString()); 
 
      } 
 

 
     }); 
 
    }

photoFileFile 개체입니다.

sniffer-gps-app

는 버킷 이름

UserDogPhotos 내 매니페스트의 서비스 태그 내 응용 프로그램 태그를 벗어난 버킷

+0

네트워크 상태에 액세스 할 수있는 권한을 추가 했습니까? 다음과 같이 입력하십시오 : https://github.com/awslabs/aws-sdk-android-samples/blob/master/S3TransferUtilitySample/AndroidManifest.xml#L38 –

+0

나는 확실히 그렇게했습니다. Cognito 및 DynamoDB에 대한 호출은 정상적으로 작동합니다. – Reid

답변

1

의 폴더입니다.