如何使HTML链接中的PDF文件可下载?

我在网页上提供了pdf文件的链接以供下载,如下所示

<a href="myfile.pdf">Download Brochure</a>

问题是,当用户单击此链接时,

  • 如果用户已安装Adobe Acrobat,则它将在Adobe Reader的同一浏览器窗口中打开文件。
  • 如果未安装Adobe Acrobat,则弹出窗口提示用户下载文件

但是,无论是否安装了“ Adob​​e acrobat”,我都希望它始终弹出用户下载。

请告诉我我该怎么做?

回答:

而不是链接到.PDF文件,而是执行类似的操作

<a href="pdf_server.php?file=pdffilename">Download my eBook</a>

它会输出一个自定义标头,打开PDF(二进制文件保险箱)并将数据打印到用户的浏览器中,然后尽管用户设置了浏览器,他们仍可以选择保存PDF。pdf_server.php应如下所示:

header("Content-Type: application/octet-stream");

$file = $_GET["file"] .".pdf";

header("Content-Disposition: attachment; filename=" . urlencode($file));

header("Content-Type: application/octet-stream");

header("Content-Type: application/download");

header("Content-Description: File Transfer");

header("Content-Length: " . filesize($file));

flush(); // this doesn't really matter.

$fp = fopen($file, "r");

while (!feof($fp))

{

echo fread($fp, 65536);

flush(); // this is essential for large downloads

}

fclose($fp);

PS:显然对“文件”变量进行了一些检查,以防止他人窃取您的文件,例如不接受文件扩展名,拒绝斜杠,在值上添加.pdf。

以上是 如何使HTML链接中的PDF文件可下载? 的全部内容, 来源链接: utcz.com/qa/434668.html

回到顶部