首页 > 怎样让 pdf 文件直接下载而非在浏览器里打开

怎样让 pdf 文件直接下载而非在浏览器里打开

点击 <a href="18禁.pdf">下载</a> 的时候,Chrome 会自动调用内置的 pdf 阅读器打开,我只想让用户下载这个文件,有什么办法呢?


你的问题其实没说清,你到底是想让你自己的Chrome直接下载PDF,还是想让你的服务器上的PDF被Chrome直接下载?
如果是前者,你可以打开Chrome插件设置页面chrome://plugins/,停用其中的“Chrome PDF Viewer”插件,这样你的Chrome就会直接下载所有PDF文件了。
如果是后者,你需要修改你的Web服务器MIME type设置,将PDF文件的MIME type改为application/octet-stream并加入Content-Disposition:attachment header,对于Apache服务器,你可以在pdf文件所在目录的.htaccess文件里加入:

<FilesMatch "\.(?i:pdf)$">
      ForceType application/octet-stream
      Header set Content-Disposition attachment
</FilesMatch>

其它Web server自己查手册


最方便的是
<a href="18禁.pdf" download>下载</a>


浏览器打开一个pdf之后。按ctrl+s直接保存pdf,不就等于下载了么。


最好的解决方案是通过后台的service来做,返回不同的http header来达到不同的目的。
需要用的就是“Content-disposition”,解释如下:

Content-disposition: inline; filename=foobar.pdf
表示浏览器内嵌显示一个文件
Content-disposition: attachment; filename=foobar.pdf
表示会下载文件 

友情提示:这样的话,请求url就没有必要带上.pdf后缀了。

【热门文章】
【热门文章】