我使用以下代码将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标题的“另存为”对话框?
先谢谢你的帮助
答案 0 :(得分:4)
他们很可能在下载未选中之前询问保存每个文件的位置(高级设置)。如果是这种情况,那么你无能为力,因为这是他们的偏好。
答案 1 :(得分:2)
这种行为是由浏览器设置控制的,所以我认为没有办法强制打开“另存为”对话框。
您可以尝试不指定文件的名称,但我认为它只会继承脚本名称。
答案 2 :(得分:-1)
你可以尝试:
Content-Type = application/download