【发布时间】:2019-02-01 22:39:23
【问题描述】:
我正在使用android aws依赖com.amazonaws:aws-android-sdk-s3:2.6.+
上传图片时出现如下错误
com.amazonaws.services.s3.model.AmazonS3Exception:访问被拒绝 (服务:Amazon S3;状态代码:403;错误代码:AccessDenied; 请求 ID:XXXXXXXXXXX),S3 扩展请求 ID:XXXXXXXXXXXX
这是上传图片的代码
private void beginUpload(String filePath, final String mediaCaption,
Message message,boolean isThumb,final
UploadFileToStorageCompletionListener listener) {
getLogger().log(Strings.TAG, "########## 3: " + filePath);
//construct a bucket path
final String fullBucketPath =
constructBucketPath(message.getMediaType(), message.getId(),
isThumb);
File file = new File(filePath);
mObserver = mTransferUtility.upload(fullBucketPath, mediaCaption,
file);
mObserver.setTransferListener(new TransferListener() {
@Override
public void onStateChanged(int id, TransferState state) {
getLogger().log(Strings.TAG," onStateChanged() " + state);
if (state.equals(TransferState.COMPLETED)) {
listener.onUploadSuccess(fullBucketPath);
}
}
@Override
public void onProgressChanged(int id, long bytesCurrent, long bytesTotal) {
getLogger().log(Strings.TAG,"onProgressChanged() " + bytesCurrent + "/" + bytesTotal);
dismissProgressDialog();
}
@Override
public void onError(int id, Exception ex) {
listener.onDatabaseError(new FirebaseFailure(ex));
getLogger().log(Strings.TAG, "onError() " + ex.getMessage());
}
});
}
【问题讨论】: