ファイルを s3 バケットにアップロードしようとし続けます。ただし、ファイルが公開されることはありません。バケット内のファイル/フォルダを(アップロードごとに)表示できるように手動で公開する必要があります。
Android ファイル (ビットマップ) をデフォルトのアクセス許可でアップロードして、表示のために公開する方法はありますか。可能であれば、プログラムでこれを行うことをお勧めします。私はs3のドキュメントをチェックしましたが、役立つものは何も見つかりませんでした.
ファイルを s3 バケットにアップロードしようとし続けます。ただし、ファイルが公開されることはありません。バケット内のファイル/フォルダを(アップロードごとに)表示できるように手動で公開する必要があります。
Android ファイル (ビットマップ) をデフォルトのアクセス許可でアップロードして、表示のために公開する方法はありますか。可能であれば、プログラムでこれを行うことをお勧めします。私はs3のドキュメントをチェックしましたが、役立つものは何も見つかりませんでした.
はい、 TransferUtilityを使用している人にとっては、以下の方法を使用して、Android で TransferUtility を使用して公開読み取り可能な形式でファイルをアップロードするのは非常に簡単です。
transferUtility.upload(String bucketName,String key,File file,CannedAccessControlList cannedAcl)
例:
transferUtility.upload("MY_BUCKET_NAME","FileName",your_file,CannedAccessControlList.PublicRead);
デフォルトでバケット内のすべてのオブジェクトを公開するには、この質問またはこの質問への回答をご覧ください。
Android 経由でファイルをアップロードするときに各ファイルのパブリック アクセスを指定するには、次のPutObjectRequest
ように ACL を設定します。
PutObjectRequest putObjectRequest = new PutObjectRequest()
.withCannedAcl(CannedAccessControlList.PublicRead)
TransferUtility
現時点では、ACL をワンステップで設定できるようには見えません: https://github.com/aws/aws-sdk-android/issues/63
したがって、ファイルをアップロードした後TransferUtility
、次の操作を行う必要があります。
s3client.setObjectAcl(bucketName, keyName, CannedAccessControlList.PublicRead);