Ark*_*kan 6 content-type google-chrome download amazon-s3
我正面临使用Chrome从Amazon S3下载PDF文件的问题.
当我单击链接时,我的控制器将请求重定向到S3上的文件URL.
它与Firefox完美配合,但Chrome没有任何反应.
然而,如果我执行右键单击 - > 保存位置,将下载文件...
甚至将S3 URL复制粘贴到Chrome中也会导致空白屏幕...
以下是curl返回的一些信息:
Date: Wed, 01 Feb 2012 15:34:09 GMT
Last-Modified: Wed, 01 Feb 2012 04:45:24 GMT
Accept-Ranges: bytes
Content-Type: application/x-pdf
Content-Length: 50024
Server: AmazonS3
Run Code Online (Sandbox Code Playgroud)
我的猜测与内容类型的问题有关......但我尝试过的都没有用.
PDF文档的规范Internet媒体类型实际上application/pdf是在application/pdf Media Type(RFC 3778)中定义的 - 请注意application/x-pdf,虽然通常遇到并列为可移植文档格式的媒体类型,但显然不存在互联网号码分配机构(IANA)列出的官方应用媒体类型.
我不知道为什么以及何时application/x-pdf复活,但显然Chrome PDF插件目前还没有打开application/x-pdf文档.
因此,您应该能够通过相应地更改存储对象的媒体类型来触发Chrome中的不同行为.
另一种方法是强制下载PDF而不是让Chrome尝试打开它,这可以通过触发请求的Content-Diposition: attachment标题来完成GET- 请参阅有关如何通过请求参数实现此目的的GET对象的S3文档response-content-disposition,特别response-content-disposition=attachment是在参数变更响应标题值的样本请求部分中进行了演示.
这仅适用于经过身份验证的请求,请参阅请求参数部分:
注意
使用这些参数时,您必须使用Authorization标头或预签名URL对请求进行签名.它们不能与未签名(匿名)请求一起使用.
有一个基于HTML的解决方案.由于chrome是最新的HTML5,我们可以使用闪亮的新download属性!
<a href="http://www.domain.com/painful.pdf">Broken</a>
<a href="http://www.domain.com/painful.pdf" download="notsopainful">Works</a>
| 归档时间: |
|
| 查看次数: |
6673 次 |
| 最近记录: |