0
사진을 찍어 Amazon S3에 업로드하는 Android 앱을 제작하고 있습니다. 내 코드가 실제로 실행중인 것 (디버그 중단 점을 통해 확인 됨)에서 제대로 실행되고 있지만 업로드되지 않는 것 같습니다. 오류 메시지가 나타나지 않고 응용 프로그램에 넣은 log.d 메시지가 logcat에 나타나지 않습니다.Android 앱 S3 업로드가 작동하지 않습니다. 오류 없음
나는이 아마존 자습서를 사용하고 있습니다 : 나는 코드를 실행 처음으로, 나는 TransferUtility.builder()
을 didnt가 .s3Client
그래서 내가 넣어 가지고 불평 오류를 가지고
잘못된 코드 :.
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());
}
});
}
photoFile
은 File
개체입니다.
sniffer-gps-app
UserDogPhotos
내 매니페스트의 서비스 태그 내 응용 프로그램 태그를 벗어난 버킷
네트워크 상태에 액세스 할 수있는 권한을 추가 했습니까? 다음과 같이 입력하십시오 : https://github.com/awslabs/aws-sdk-android-samples/blob/master/S3TransferUtilitySample/AndroidManifest.xml#L38 –
나는 확실히 그렇게했습니다. Cognito 및 DynamoDB에 대한 호출은 정상적으로 작동합니다. – Reid