1
私はS3サービスに画像をアップロードするアプリケーションを作ろうとしています。ドキュメントやサンプルプロジェクトから読み込んだバケットを作成し、それにImageをアップロードするのはかなり簡単だとわかりましたが、問題はありませんが、バケットがすでに存在するかどうかをテストしてします?既存のAmazon S3バケットにアクセスする
私のコードは、Amazonのサンプルプロジェクトから取られているが、私はとにかくそれを追加します:既存のバケットへの接続方法に関する
case R.id.button_upload:
if (flag && fileUri != null) {
Uri selectedImage = fileUri;
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
// Put the image data into S3.
try {
s3Client.createBucket(Constants.getPictureBucket());
// I DON"T WANT TO CREATE ONE, I WANT TO CONNECT TO ONE
PutObjectRequest por = new PutObjectRequest(
Constants.getPictureBucket(),
Constants.PICTURE_NAME, new java.io.File(filePath)); // Content
// type
// is
// determined
// by
// file
// extension.
s3Client.putObject(por);
} catch (Exception exception) {
displayAlert("Upload Failure", exception.getMessage());
}
}
break;
任意の考えを?
だから、基本的に 'String bucket = getPictureBucket()'のようなものを書いて、そのバケットに 'PutObjectRequest'を使うべきでしょうか? – thepoosh
はい。写真はフォルダでも、ユニークなバケツである必要はありません。新しいバケットを作成するのではなく、バケットにサブフォルダを作成してください。 –
それが存在するかどうかはどうすればテストできますか? 'listBuckets'を使うべきでしょうか?存在しなければそれを作成しますか? p.s.私が受け入れることができる前に5分... – thepoosh