我一直试图将文件上传到s3存储桶。但该文件永远不会公开查看。我必须手动将存储桶中的文件/文件夹公开(对于每次上传)才能查看。
是否有办法上传具有默认权限的Android文件(位图),以供公开查看。如果可能的话,我更愿意以编程方式执行此操作。我检查了s3文档,找不到任何有用的东西。
答案 0 :(得分:10)
是的,对于那些使用 TransferUtility 的人来说,这很容易, 使用以下方法在Android中使用TransferUtility上传公共可读表单的任何文件,
transferUtility.upload(String bucketName,String key,File file,CannedAccessControlList cannedAcl)
示例:强>
transferUtility.upload("MY_BUCKET_NAME","FileName",your_file,CannedAccessControlList.PublicRead);
答案 1 :(得分:5)
要默认情况下公开您广告系列中的所有对象,请查看this question或this question的答案。
要在通过Android上传每个文件时为每个文件指定公共访问权限,请在$qb->select('m.MAINCAT, i.IMAGE_NAME, gl.GROUP_LVL_ID, gl.PARENT_LVL_ID ... ')
上设置ACL,如下所示:
PutObjectRequest
目前看来您可以使用PutObjectRequest putObjectRequest = new PutObjectRequest()
.withCannedAcl(CannedAccessControlList.PublicRead)
一步设置ACL:https://github.com/aws/aws-sdk-android/issues/63
因此,在通过TransferUtility
上传文件后,您需要执行以下操作:
TransferUtility