我正在使用亚马逊的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);
问题是,每当我上传这样的内容时,权限都不会设置为公开,因此我无法在我的应用中使用它们。
如何从我的代码中设置文件权限,以便公众可以查看?
谢谢!
答案 0 :(得分:3)
当您致电PutObjectRequest时,您需要提供ACLs一个upload。
答案 1 :(得分:0)
将文件放入存储桶时选择适当的ACL策略。
它可以是以下选项之一:
1)ACL_AUTHENTICATED_READ
允许对经过身份验证的用户进行读取访问。
2)ACL_PRIVATE
仅允许私人访问该文件。
3)ACL_PUBLIC_READ。
允许对该文件进行公共读取访问。
4)ACL_PUBLIC_READ_WRITE
将文件写入存储桶时,允许对文件进行公共读写访问。