强制浏览器下载文件而不是查看它

时间:2013-03-06 11:58:40

标签: pdf browser

在我的网络上,我想要两个按钮 - 第一个Download应该将pdf下载到用户的计算机,另一个View在新标签页中打开pdf。问题是,我不知道如何制作Download按钮。您可能会说它没用,因为您可以在"查看"之后保存pdf。它,但我已经制作了这样的图形,并不是真的想改变它。是否可以阻止浏览器打开pdf文件并使其下载文件?

2 个答案:

答案 0 :(得分:3)

您需要在服务器端脚本中强制下载文件:

这是一个PHP示例:

$file = "path/to/my-file.pdf";

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/pdf");
header("Content-Transfer-Encoding: binary");

答案 1 :(得分:0)

最后,当我使用nginx时,我决定在http-server级别解决这个问题:

location /media  {
    alias /srv/www/novacek/media/;
}

location /download/media {
    alias /srv/www/novacek/media/;
    add_header Content-Disposition "attachment";
}