猿问

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

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

我在我的网页上给出一个pdf文件的链接供下载,如下所示

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

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

  • 如果用户已安装AdobeAcrobat,则会在AdobeReader的同一浏览器窗口中打开该文件。
  • 如果AdobeAcrobat未安装,则弹出用户以下载该文件。

但我希望它总是弹出到用户下载,无论是否安装了“Adobeacrobat”。

请告诉我怎么做?


30秒到达战场
浏览 3840回答 3
3回答

jeck猫

而不是链接到.PDF文件,而是执行以下操作<a&nbsp;href="pdf_server.php?file=pdffilename">Download&nbsp;my&nbsp;eBook</a>它输出一个自定义的标题,打开PDF(二进制安全)并将数据打印到用户的浏览器,然后他们可以选择保存PDF,尽管他们的浏览器设置。pdf_server.php应该如下所示:header("Content-Type:&nbsp;application/octet-stream");$file&nbsp;=&nbsp;$_GET["file"]&nbsp;.".pdf";header("Content-Disposition:&nbsp; attachment;&nbsp;filename="&nbsp;.&nbsp;urlencode($file));&nbsp;&nbsp;&nbsp;header("Content-Type:&nbsp;application/octet-stream"); header("Content-Type:&nbsp;application/download");header("Content-Description:&nbsp;File&nbsp;Transfer");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; header("Content-Length:&nbsp;"&nbsp;.&nbsp;filesize($file));flush();&nbsp;//&nbsp;this&nbsp;doesn't&nbsp;really&nbsp;matter.$fp&nbsp;=&nbsp;fopen($file,&nbsp;"r");while&nbsp;(!feof($fp)){ &nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;fread($fp,&nbsp;65536); &nbsp;&nbsp;&nbsp;&nbsp;flush();&nbsp;//&nbsp;this&nbsp;is&nbsp;essential&nbsp;for&nbsp;large&nbsp;downloads}&nbsp;fclose($fp);PS:显然,对“file”变量进行一些正常检查,以防止人们窃取您的文件,例如不接受文件扩展名、拒绝斜杠、将.pdf添加到值中。
随时随地看视频慕课网APP
我要回答