2

我正在使用 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。有什么建议吗?

4

1 回答 1

2

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\"");  

这应该有效。

于 2013-05-02T18:46:18.483 回答