点击 <a href="18禁.pdf">下载</a>
的时候,Chrome 会自动调用内置的 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自己查手册
nginx 下的配置参考:
location / {
if ($request_filename ~* ^.*?\.(txt|pdf|doc|xls)$){
add_header Content-Disposition attachment;
}
}
最好的解决方案是通过后台的service来做,返回不同的http header来达到不同的目的。
需要用的就是“Content-disposition”,解释如下:
Content-disposition: inline; filename=foobar.pdf
表示浏览器内嵌显示一个文件
Content-disposition: attachment; filename=foobar.pdf
表示会下载文件
友情提示:这样的话,请求url就没有必要带上.pdf后缀了。
最佳答案 https://github.com/eligrey/Fi...
import FileSaver from 'file-saver';
FileSaver.saveAs(url, fileName)
3 回答2.4k 阅读✓ 已解决
5 回答1k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
4 回答2.5k 阅读
2 回答1.9k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
最方便的是
<a href="18禁.pdf" download>下载</a>