如何使HTML链接中的PDF文件可下载?
我在网页上提供了pdf文件的链接以供下载,如下所示
<a href="myfile.pdf">Download Brochure</a>
问题是,当用户单击此链接时,
- 如果用户已安装Adobe Acrobat,则它将在Adobe Reader的同一浏览器窗口中打开文件。
- 如果未安装Adobe Acrobat,则弹出窗口提示用户下载文件。
但是,无论是否安装了“ Adobe 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