我可以将图片从Android上传到亚马逊s3。但它们总是私密的,没有人可以展示它们。我必须在亚马逊s3管理控制台上公开它。上传时,我无法为图像设置ACL。
我了解到,有两种方法可以将图像从Android上传到亚马逊s3:
我想使用TransferUtility,因为它不在主线程上运行,在服务上工作,所以我不必使用AsyncTask或其他线程。此外,我可以轻松跟踪转移的进度和状态。此外,TransferUtility比PubObjectRequest更新。但问题出现在这里:我不知道如何在将对象上传到s3之前或之前为对象设置ACL。我试过了:
s3Client.setObjectAcl("myBucket", "steve_jobs.jpg", CannedAccessControlList.PublicRead);
但它返回"网络主线程"错误。所以我需要使用AsyncTask或其他线程。但我不想使用AsyncTask或其他线程。如何在使用TransferUtility上传对象时为其设置ACL?
答案 0 :(得分:1)
Bucket政策似乎是最简单的事情。您可以为桶中的所有对象指定一些路径或授予权限。 您可以使用AWS控制台(Bucket属性 - >权限 - >编辑存储桶策略)或CloudBerry Explorer(存储桶属性 - >存储桶策略)进行设置。 它适合您的需要吗?
<section class="container">
<div id="card">
<figure class="front">1</figure>
<figure class="back">2</figure>
<!--
How To Make this a Slideshow?
<figure class="back">3</figure>
<figure class="back">4</figure>
-->
</div>
</section>