PDF链接在Chrome PDF Viewer中加载时卡住了

时间:2012-11-09 19:02:17

标签: html django google-chrome anchor httpresponse

在我们正在构建http://ovsd.nutrislice.com/wellness/的网站页面上,pdf下载链接(“下载问题”)在加载Chrome的PDF查看器时卡住了,但是通过触发下载在所有其他浏览器中工作。右键单击+“另存为”可在Chrome中使用。我发现Chrome是唯一一款内置默认pdf查看器的浏览器。

我认为我们可以指示人们右键单击然后“另存为”,但我想知道是否有人可以看到html或服务器响应中的问题,这会导致chrome失败。

它不是传统的pass-thru文件下载,位于某个服务器上。我们使用Heroku,我目前正在将数据库存储在数据库中(我意识到了这方面的缺点,但它现在比在S3上管理异地文件更简单)。我正在通过Django View动态生成响应,所以我想知道在响应头中是否存在某些东西。

谢谢!

2 个答案:

答案 0 :(得分:4)

看起来像一个糟糕的内容类型:

Content-Type:('application/pdf', None)

检查代码,将内容类型分配给响应。看起来你发送的是元组而不只是application/pdf

答案 1 :(得分:3)

与@dgel一样,您的内容类型不正确:

$ curl -I http://ovsd.nutrislice.com/dbfiles/cms/resources/Vol5_Issue1_5_Dos_and_Donts_for_Supermarket_Survival.pdf
HTTP/1.1 200 OK
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Cache-Control: max-age=90000
Content-Type: ('application/pdf', None)       # <- Incorrect
Date: Fri, 09 Nov 2012 19:25:06 GMT
Expires: Fri, 09 Nov 2012 23:20:28 GMT
Last-Modified: Thu, 08 Nov 2012 22:20:28 GMT
Server: gunicorn/0.14.6
Connection: keep-alive

此外,添加Content-Length标题可能是个好主意。