我有网址到PDF文件。我需要在页面上有一个链接,以便当用户点击链接时,他们会看到"另存为"对话框。
我找到了solution using an iframe
,但如果用户安装了PDF插件,那么"另存为"对话框没有显示出来。
有没有其他方法可以向用户显示"另存为"对话框?
抱歉,我忘了提及用户点击链接后,请求将由ajax发送。它将发布PDF文件网址的请求。在这个请求的结果中,我将知道有PDF文件,现在我想向用户显示另存为对话框,而不是在浏览器中打开它。
答案 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中所述对你发现的问题。
(标记为“社区维基”,因为问题实际上只是重复。)