8

当我尝试在 Chrome 和 FF 中单击我的网站上的 pdf 链接时,它什么也没做。我可以右键单击并另存为,但我无法在浏览器中打开它。两种浏览器都启用了 adobe reader 并且在我删除 AWS 密钥和签名时工作。

https://s3.amazonaws.com/bucket/sample.pdf?AWSAccessKeyId=&Expires=&Signature= // Does not open

https://s3.amazonaws.com/bucket/mypdf.pdf // Opens fine

它在 IE 和 Opera 中都可以正常工作。有什么办法绕过这个吗?

4

1 回答 1

1

您的问题的原因非常明显,但可能难以解决。当您打开非密钥链接时

https://s3.amazonaws.com/bucket/mypdf.pdf

浏览器在链接末尾获取 .pdf 扩展名并尝试下载它。但是,当您有其他请求参数时,您的链接不会以 .pdf 结尾,这可能会导致问题。

看起来您上传的 pdf 文件没有内容类型的元数据。如果您在上传期间没有选中自动计算内容类型复选框,请尝试通过添加元数据手动设置内容类型

content-type: application/pdf

另一个想法是让浏览器认为该链接以 .pdf 结尾,因此尝试使用此链接下载:

https://s3.amazonaws.com/bucket/sample.pdf?AWSAccessKeyId=a&Expires=b&Signature=c&file=sample.pdf
于 2015-07-11T18:45:04.293 回答