Eba*_*har 0 android amazon-s3 amazon-web-services awss3transferutility
我一直在尝试将文件上传到s3存储桶.但该文件永远不会公开查看.我必须手动将存储桶中的文件/文件夹公开(对于每次上传)才能查看.
有没有办法上传具有默认权限的Android文件(位图),以供公开查看.如果可能的话,我更愿意以编程方式执行此操作.我检查了s3文档,找不到任何有用的东西.
var*_*jsi 10
是的,对于那些正在使用TransferUtility的人来说,使用下面的方法使用android中的TransferUtility 上传任何公共可读形式的文件非常容易,
transferUtility.upload(String bucketName,String key,File file,CannedAccessControlList cannedAcl)
Run Code Online (Sandbox Code Playgroud)
例:
transferUtility.upload("MY_BUCKET_NAME","FileName",your_file,CannedAccessControlList.PublicRead);
Run Code Online (Sandbox Code Playgroud)
要默认情况下公开存储桶中的所有对象,请查看此问题或此问题的答案.
要在通过Android上传每个文件时指定每个文件的公共访问权限,请按以下方式设置ACL PutObjectRequest:
PutObjectRequest putObjectRequest = new PutObjectRequest()
.withCannedAcl(CannedAccessControlList.PublicRead)
Run Code Online (Sandbox Code Playgroud)
此时看起来您不能一步设置ACL TransferUtility:https://github.com/aws/aws-sdk-android/issues/63
因此,在通过TransferUtility您上传文件后,您需要执行以下操作:
s3client.setObjectAcl(bucketName, keyName, CannedAccessControlList.PublicRead);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3573 次 |
| 最近记录: |