Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 向所有使用Amazon S3上载的用户授予权限_Android_Amazon S3 - Fatal编程技术网

Android 向所有使用Amazon S3上载的用户授予权限

Android 向所有使用Amazon S3上载的用户授予权限,android,amazon-s3,Android,Amazon S3,使用TransferUtility为AmazonS3上传文件后,我无法使用该文件 Request failed 403: Forbidden 当我转到我的bucket并检查右侧的权限时,它只显示我。 当我添加所有人时,我可以毫无问题地访问该文件 我正在寻找一种在上传时授予权限的方法,但可以找到一种适用于Android的方法 我找到了C#的答案,这让我想到: CannedAccessControlList cannedAccessControlList = CannedAccessControl

使用TransferUtility为AmazonS3上传文件后,我无法使用该文件

Request failed 403: Forbidden
当我转到我的bucket并检查右侧的权限时,它只显示我。 当我添加所有人时,我可以毫无问题地访问该文件

我正在寻找一种在上传时授予权限的方法,但可以找到一种适用于Android的方法

我找到了C#的答案,这让我想到:

CannedAccessControlList cannedAccessControlList = CannedAccessControlList.BucketOwnerFullControl;

但是我不知道在哪里加上这个

最简单的方法是定义一个Bucket策略,授予对Bucket或Bucket内路径的公共访问权。这样,就不需要指定每个对象的权限

见:

例如,此bucket策略将允许公众访问
上传路径中存储的任何对象:

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AddPerm",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::examplebucket/uploads/*"]
    }
  ]
}
上传(新的PutObjectRequest(“bucket名称”、“文件名”、“文件路径对象”)。使用cannedacl(cannedaccesscontroller.PublicRead))