存储桶策略后 PDF 文件不会在 Chrome 中加载(在其他浏览器中加载)
Posted
技术标签:
【中文标题】存储桶策略后 PDF 文件不会在 Chrome 中加载(在其他浏览器中加载)【英文标题】:PDF file won't load in Chrome after bucket policy (loads in other browsers) 【发布时间】:2014-04-03 01:11:25 【问题描述】:我设置了存储桶策略,因此只有从某个网站推荐的用户才能访问我的 Amazon S3 存储中的某个 PDF 文件。
文件设置为私有,存储桶策略似乎运行良好,除了 Chrome 在打开 PDF 文件时卡在加载页面上。不过,我可以通过右键单击链接并保存来下载 PDF。
它也适用于 IE,但在 Safari 和 Firefox 中运行良好。我尝试清除缓存,但没有帮助。
这是我使用的存储桶策略:
"Version": "2012-10-17",
"Id": "http referer policy example",
"Statement": [
"Sid": "Allow get requests originated from www.example.com and example.com",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::examplebucket/*",
"Condition":
"StringLike":
"aws:Referer": [
"http://example.com/*",
"http://www.example.com/*"
]
]
谢谢
【问题讨论】:
怀疑 CORS 问题。检查此线程是否有帮助:***.com/questions/20253472/… 【参考方案1】:我猜测 Content-Type 响应标头设置不正确。应该是
内容类型:应用程序/pdf
您可以在开发控制台的网络选项卡中查看正在发送的内容。您可以在 S3 控制台中文件属性的元数据部分进行设置。
【讨论】:
以上是关于存储桶策略后 PDF 文件不会在 Chrome 中加载(在其他浏览器中加载)的主要内容,如果未能解决你的问题,请参考以下文章