【问题标题】:Amazon AWS S3 file upload. How to set file permissions?亚马逊 AWS S3 文件上传。如何设置文件权限?
【发布时间】:2015-06-22 19:19:14
【问题描述】:

我正在使用亚马逊的 AWS 开发工具包 (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);

问题是,每当我上传这样的东西时,权限都没有设置为公开,所以我不能在我的应用中使用它们。

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

    您需要在拨打upload 时提供PutObjectRequest 和所需的ACLs。

    【讨论】:

    • 我也有同样的问题,但如果我使用 putObjectRequest 而不是我的设备会冻结。有关更多信息,请参阅我的问题here。
    【解决方案2】:

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

    它可以是以下选项之一:

    1) ACL_AUTHENTICATED_READ

    允许经过身份验证的用户具有读取权限。

    2) ACL_PRIVATE

    只允许私人访问文件。

    3) ACL_PUBLIC_READ。

    允许公开读取文件。

    4) ACL_PUBLIC_READ_WRITE

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

    【讨论】:

    • 您可以相应地更改语法......重点是在您将文件放入 Amazon s3 存储桶时使用适当的 ACL 策略
    猜你喜欢
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多