我试图这样做,当你点击“在这里下载”时,pdf文件将下载到用户的桌面。我应该怎么做呢?
答案 0 :(得分:10)
使用Content-Disposition
标题。
但是,请:只有当用户下载PDF并且不打开它时真的时才这样做(因此这只是对用户的帮助,他不需要明确选择“保存文件”)。不要用它来强迫用户下载它,尽管他只是想查看它。
答案 1 :(得分:3)
a.php的代码:
<?php
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename=file.pdf')
echo file_get_contents("file.pdf");
?>
将其链接到网络:
<a href="a.php">Download</a>
答案 2 :(得分:1)
这是一个常见问题,只有极少数人知道有一个简单的HTML 5解决方案:
<a href="./directory/yourfile.pdf" download="newfilename">Download the pdf</a>
其中newfilename
是用户保存文件的建议文件名。或者如果你把它留空,它将默认为服务器端的文件名,如下所示:
<a href="./directory/yourfile.pdf" download>Download the pdf</a>
兼容性:我在Firefox 21和Iron上进行了测试,两者都运行良好。它可能不适用于HTML5不兼容或过时的浏览器。我测试的唯一没有强制下载的浏览器是IE ...
答案 3 :(得分:0)
您要问的是控制浏览器行为 - 这并不简单。
最好的选择是将链接指向看似网页的链接(即download.php?file=1
),一旦浏览器注意到它的二进制数据,它就会询问用户它想用它做什么。这种方法很可能完成工作。
但请注意,此行为无法保证,并且高度依赖于浏览器配置。
答案 4 :(得分:0)
我认为有一个 <meta>
标签。我认为它被称为'nosave'。不要去那里搜索WWW - 我正在搜索但找不到它。