我的页面中有一个PDF文件的链接。
Safari直接在网站上打开pdf文件。我想下载它。
我已尝试将target="_blank"
添加到<a>
元素,但如果在浏览器设置中禁用了弹出窗口,则无效。
我该如何解决这个问题?
感谢
答案 0 :(得分:8)
为此,您需要更改.PDF文件的标题。
所以,在你的.htaccess中,你需要这样做:
AddType application/octet-stream .pdf
答案 1 :(得分:8)
您需要为此文件设置Content-Disposition
HTTP标头为attachment
。
Content-Disposition: attachment; filename=test.pdf
根据您使用的Web服务器的配置方式,这可能会有所不同。另一个选择是有一个服务器端脚本,它将流式传输pdf并设置此标题。
答案 2 :(得分:1)
您需要使用PHP等服务器端脚本动态强制附加标头。 以下是使用PHP的示例:
<?php
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
readfile('original.pdf');
?>
编辑:
$file = $_GET['file'];
readfile($file."pdf"); // Before doing this, check whather the user have permission to download that file.
调用您的脚本:download.php?file=document
将下载document.pdf