我一直试图将文件上传到S3桶。 但是,该文件是从未公开观看。 我必须手动使文件在桶公众(对每个上传)/文件夹就可以查看能。
是否有上传一个Android文件(位)与默认权限为期间查看是公众的一种方式。 我宁愿如果有可能做到这一点编程。 我检查了S3文档,找不到任何帮助。
我一直试图将文件上传到S3桶。 但是,该文件是从未公开观看。 我必须手动使文件在桶公众(对每个上传)/文件夹就可以查看能。
是否有上传一个Android文件(位)与默认权限为期间查看是公众的一种方式。 我宁愿如果有可能做到这一点编程。 我检查了S3文档,找不到任何帮助。
在默认情况下让你的水桶公开的所有对象,查看回答这个问题,还是这个问题 。
要指定当你通过安卓上传他们的每个文件的公共访问,设置上的ACL PutObjectRequest
是这样的:
PutObjectRequest putObjectRequest = new PutObjectRequest()
.withCannedAcl(CannedAccessControlList.PublicRead)
它看起来并不像您可以设置一步到位与ACL TransferUtility
此时: https://github.com/aws/aws-sdk-android/issues/63
因此,通过将文件上传后TransferUtility
你需要做到以下几点:
s3client.setObjectAcl(bucketName, keyName, CannedAccessControlList.PublicRead);
是的,它是为那些人,谁在使用TransferUtility,请使用以下方法上传任何文件中使用Android的公共 TransferUtility 可读的形式很容易,
transferUtility.upload(String bucketName,String key,File file,CannedAccessControlList cannedAcl)
例:
transferUtility.upload("MY_BUCKET_NAME","FileName",your_file,CannedAccessControlList.PublicRead);