如何在流式传输PDF附件时强制“另存为”对话框

时间:2012-02-28 00:23:06

标签: php header pdf-generation

我使用以下代码将pdf流式传输到浏览器:

header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Pragma: public");
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename=file.pdf");
echo $pdf;

工作正常,除了(无论如何在Chrome中)它只保存文件“file.pdf” - 它不会提示“另存为”对话框,因此我可以重命名该文件,如果我选择的话。

我怀疑这可能是依赖于浏览器的事情之一,但是在流式传输PDF文件以供下载时是否可以强制使用php标题的“另存为”对话框?

先谢谢你的帮助

3 个答案:

答案 0 :(得分:4)

他们很可能在下载未选中之前询问保存每个文件的位置(高级设置)。如果是这种情况,那么你无能为力,因为这是他们的偏好。

答案 1 :(得分:2)

这种行为是由浏览器设置控制的,所以我认为没有办法强制打开“另存为”对话框。

您可以尝试不指定文件的名称,但我认为它只会继承脚本名称。

答案 2 :(得分:-1)

你可以尝试:

Content-Type = application/download