【问题标题】:PDF links getting stuck while loading in Chrome PDF Viewer在 Chrome PDF 查看器中加载时 PDF 链接卡住
【发布时间】:2012-10-30 03:20:41
【问题描述】:

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

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

它不是在某处服务器上的传统直通文件下载。我们使用 Heroku,我目前正在将 pdf 存储在数据库中(我意识到这样做的缺点,但它是一个比目前在 S3 上管理异地文件更简单的系统)。我正在通过 Django View 动态生成响应,所以我想知道响应标头中是否缺少某些内容。

谢谢!

【问题讨论】:

    标签: html django google-chrome anchor httpresponse


    【解决方案1】:

    就像@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 标头可能是个好主意。

    【讨论】:

    【解决方案2】:

    看起来像一个错误的内容类型:

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

    检查您为响应分配内容类型的代码。看起来您正在发送一个元组,而不仅仅是 application/pdf

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 2012-10-19
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    相关资源
    最近更新 更多