【问题标题】:IE ignores octet-stream - how to force download?IE 忽略八位字节流 - 如何强制下载?
【发布时间】:2013-05-02 18:37:52
【问题描述】:

我正在使用 wkhtmltopdf 生成 PDF 文件。该程序接受两个 ContentType 值之一,“application/pdf”和“application/octet-stream”。我希望将生成的 PDF 文件保存到用户的机器上,所以我将它设置为“应用程序/八位字节流”。 Chrome提示下载,正如预期的那样。火狐也是如此。当然,Internet Explorer 会忽略此设置,而是在浏览器窗口中打开 PDF 文件。我正在使用 Internet Explorer 8 和 9 进行测试。我无权访问服务器,并且无论如何我都不想更改所有 PDF 文件的处理方式。我希望此应用程序提示用户下载文件,并且需要知道如何强制 IE 执行此操作而不是忽略 ContentType 值。

我使用 Fiddler2 来检查 ContentType 在 IE 和 Chrome 中是如何报告的,并且都显示“application/octet-stream”,所以我不确定为什么 IE 坚持在浏览器中呈现 PDF。有什么建议吗?

【问题讨论】:

    标签: pdf-generation wkhtmltopdf


    【解决方案1】:

    PHP 代码:

    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Pragma: public");
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=\"filename\"");  
    

    这应该可行。

    【讨论】:

    • Content-Disposition as 'attachment' 结合八位字节流 mime 类型对我有用。其他设置让我的浏览器耸了耸肩。谢谢你的帖子。 +1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 2013-08-07
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多