使用PHP和/或JavaScript“另存为”对话框

时间:2011-12-30 13:10:48

标签: php javascript

我有网址到PDF文件。我需要在页面上有一个链接,以便当用户点击链接时,他们会看到"另存为"对话框。

我找到了solution using an iframe,但如果用户安装了PDF插件,那么"另存为"对话框没有显示出来。

有没有其他方法可以向用户显示"另存为"对话框?

抱歉,我忘了提及用户点击链接后,请求将由ajax发送。它将发布PDF文件网址的请求。在这个请求的结果中,我将知道有PDF文件,现在我想向用户显示另存为对话框,而不是在浏览器中打开它。

2 个答案:

答案 0 :(得分:2)

有一种PHP方式,您需要将用户重定向到包含内容的php文件并传递一些标题:

header('content-type: application/x-pdf');
header('content-disposition: attachment; filename=yourfile.pdf');
readfile('yourfile.pdf');

这应该克服大多数(如果不是全部)奇怪的浏览器计划。如果您仍然使用插件而不是保存对话框,则可以进行IMO。

祝你好运

答案 1 :(得分:0)

您不想通过ajax发送POST。而是按this answer中所述向iframe发送Content-Dispostion,并使用{{1}}标头告诉浏览器如何对其进行操作,如this answer中所述对你发现的问题。

(标记为“社区维基”,因为问题实际上只是重复。)