有没有办法在通过Amazon S3 API上传文件时设置文件权限 .
在我目前的解决方案中,我能够将文件上传到我的存储桶,但我无法通过文件属性部分中提到的URL查看该文件 . 当我在查询字符串中传递访问键时它正在打开 .
是否需要在Amazon S3中进行任何设置,或者我需要在上载时为所有文件设置权限 .
提前致谢 .
Kamal Kant Pansari
在PUT请求中添加标头:
x-amz-acl: public-read
您也可以使用 Bucket Policies 功能 .
以下是一个存储桶策略示例,它指示amazon s3公开所有文件,包括您要上传的新文件:
{ "Version":"2008-10-17", "Statement":[{ "Sid":"AllowPublicRead", "Effect":"Allow", "Principal": { "AWS": "*" }, "Action":["s3:GetObject"], "Resource":["arn:aws:s3:::your.bucket.name/*" ] } ] }
将your.bucket.name替换为您的实际存储桶名称
您可以使用S3 Browser免费软件查看和编辑存储桶策略 . 您可以找到更多Bucket Policies示例here .
在C#中创建> mazon的响应对象时,在响应方法中,您将找到 Addheader .
Addheader
您需要将标头设置为
response.Addheader("x-amz-acl","public-read");
亚马逊在其Web服务API中提供这些方法,请参考 .
3 回答
在PUT请求中添加标头:
x-amz-acl: public-read
您也可以使用 Bucket Policies 功能 .
以下是一个存储桶策略示例,它指示amazon s3公开所有文件,包括您要上传的新文件:
将your.bucket.name替换为您的实际存储桶名称
您可以使用S3 Browser免费软件查看和编辑存储桶策略 . 您可以找到更多Bucket Policies示例here .
在C#中创建> mazon的响应对象时,在响应方法中,您将找到
Addheader
.您需要将标头设置为
亚马逊在其Web服务API中提供这些方法,请参考 .