Amazon web services 当我点击";“在新选项卡中打开”;在我的S3图像上,它会下载图像
这是我的政策:Amazon web services 当我点击";“在新选项卡中打开”;在我的S3图像上,它会下载图像,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,这是我的政策: { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow All", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject"
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow All",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/*"
},
{
"Sid": "Deny All Actions On All But Media and Static Unless Defined User",
"Effect": "Deny",
"NotPrincipal": {
"AWS": "arn:aws:iam::**********:root"
},
"Action": "s3:*",
"NotResource": [
"arn:aws:s3:::my-bucket/media/*",
"arn:aws:s3:::my-bucket/static/*"
]
}
]
}
所以基本上我有三个文件夹:备份
,静态
和媒体
。“我的媒体”和“静态文件夹”中的所有对象都是公用的
但是,当我单击完整路径时,例如,此对象:
https://s3.us-east-2.amazonaws.com/my-bucket/media/x12wHSRoM9szjvY
(此obj实际上不存在,但路径格式相同)即使是图像,也没有.jpg或.png扩展名。这可能是我出现问题的原因吗?如果是,我如何解决这个问题,以便在单击原始对象时访问它而不下载它?存储在Amazon S3中的对象也可以有。此元数据标识存储的文件类型,例如image/jpeg
当上传文件时,它通常会设置元数据值,因此应该可以正常工作
但是,如果上载方法未设置元数据值,则浏览器无法知道文件的类型。然后它将提供下载文件而不是显示文件。(文件扩展名,如.png和.jpg,实际上并不设置文件类型。)
请参阅:存储在AmazonS3中的对象也可以具有。此元数据标识存储的文件类型,例如
image/jpeg
当上传文件时,它通常会设置元数据值,因此应该可以正常工作
但是,如果上载方法未设置元数据值,则浏览器无法知道文件的类型。然后它将提供下载文件而不是显示文件。(文件扩展名,如.png和.jpg,实际上并不设置文件类型。)
请参阅:您的桶策略正好相反。您已将
put
,get
设置为公共,并覆盖媒体/静态私有。你需要反转设置。是的,这就是我想要的-默认为私有,但媒体和静态覆盖为公共。这部分工作正常。为什么您有Deny
策略?默认情况下,bucket是私有的,直到有东西通过Allow
授予访问权限。您的bucket策略正好相反。您已将put
,get
设置为公共,并覆盖媒体/静态私有。你需要反转设置。是的,这就是我想要的-默认为私有,但媒体和静态覆盖为公共。这部分工作正常。为什么您有Deny
策略?默认情况下,bucket是私有的,直到有东西通过Allow
授予访问权限。