亚马逊AWS S3文件上传。如何设置文件权限?

时间:2015-06-22 19:19:14

标签: android amazon-web-services amazon-s3 amazon

我正在使用亚马逊的AWS SDK(S3)上传文件,一切正常。以下是我的代码:

final AWSCredentials credentials = new AWSCredentials() {
    @Override
    public String getAWSAccessKeyId() {
        return "...myAccessKey...";
    }

     @Override
     public String getAWSSecretKey() {
        return "...mySecretKey...";
    }
};

final StaticCredentialsProvider credentialsProvider = new StaticCredentialsProvider(credentials);

final TransferManager transferManager = new TransferManager(credentialsProvider);

final Upload upload = transferManager.upload(Config.AWS_IMAGE_BUCKET, "images/" + file.getName(), file);

问题是,每当我上传这样的内容时,权限都不会设置为公开,因此我无法在我的应用中使用它们。

如何从我的代码中设置文件权限,以便公众可以查看?

谢谢!

2 个答案:

答案 0 :(得分:3)

当您致电PutObjectRequest时,您需要提供ACLs一个upload

答案 1 :(得分:0)

将文件放入存储桶时选择适当的ACL策略。

它可以是以下选项之一:

1)ACL_AUTHENTICATED_READ

允许对经过身份验证的用户进行读取访问。

2)ACL_PRIVATE

仅允许私人访问该文件。

3)ACL_PUBLIC_READ。

允许对该文件进行公共读取访问。

4)ACL_PUBLIC_READ_WRITE

将文件写入存储桶时,允许对文件进行公共读写访问。