如何在通过Amazon s3 API上传时设置文件权限

有没有办法在通过Amazon S3 API上传文件时设置文件权限。

在我目前的解决方案中,我能够将文件上传到我的存储桶,但我无法通过文件属性部分中提到的URL查看该文件。 当我在查询字符串中传递访问键时它正在打开。

是否需要在Amazon S3中进行任何设置,或者我需要在上载时为所有文件设置权限。

提前致谢。

Kamal Kant Pansari

在PUT请求中添加标头:

x-amz-acl: public-read

您还可以使用Bucket Policiesfunction。

以下是一个存储桶策略示例,它指示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 Freeware查看和编辑Bucket Policies。 您可以在此处找到更多Bucket Policies示例。

在C#中创建> mazon的响应对象时,在响应方法中,您将找到Addheader

您需要将标头设置为

 response.Addheader("x-amz-acl","public-read"); 

亚马逊在其Web服务API中提供这些方法,请参考。