如何上传一个Android文件S3存储公共许可(How to upload an Android f

2019-11-04 04:37发布

我一直试图将文件上传到S3桶。 但是,该文件是从未公开观看。 我必须手动使文件在桶公众(对每个上传)/文件夹就可以查看能。

是否有上传一个Android文件(位)与默认权限为期间查看是公众的一种方式。 我宁愿如果有可能做到这一点编程。 我检查了S3文档,找不到任何帮助。

Answer 1:

在默认情况下让你的水桶公开的所有对象,查看回答这个问题,还是这个问题 。

要指定当你通过安卓上传他们的每个文件的公共访问,设置上的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);


Answer 2:

是的,它是为那些人,谁在使用TransferUtility,请使用以下方法上传任何文件中使用Android的公共 TransferUtility 可读的形式很容易,

transferUtility.upload(String bucketName,String key,File file,CannedAccessControlList cannedAcl)

例:

transferUtility.upload("MY_BUCKET_NAME","FileName",your_file,CannedAccessControlList.PublicRead);


文章来源: How to upload an Android file to S3 bucket with public permission