如何指示Chrome浏览器下载PDF而不是在浏览器中预览(预览)?


9

我的网站上有供用户下载的PDF文件。

有没有一种方法可以指示Chrome浏览器在用户单击PDF链接时不要在用户浏览器中查看PDF,而是将PDF下载到用户下载文件夹中?还是至少指示Chrome浏览器询问用户是要在浏览器中查看PDF还是将其下载(而不是仅在浏览器中自动查看)?

谢谢 :)


谢谢:)试过最受好评的答案在这里,但它不工作:( wordpress.stackexchange.com/questions/5419/...
rassom

1
我认为这不适用于chrome,因为chrome在htaccess加载之前将文件检测为pdf并与浏览器进行交互。因此chrome会将其加载为PDF,并且不会以下载操作的形式进行访问。

也许可以添加一些通过特定CSS ID查找链接的javascript,然后向其添加下载属性ref w3schools.com/TAgs/att_a_download.asp。如果这里的人知道足够的JavaScript来做到这一点,将不胜感激,
rassom 2015年

1
@rassom,您正在使用哪个网络服务器?Content-Disposition在第一个注释的链接中提到的标题是执行此操作的正确方法。
重载

1
.htaccess中的Content-Disposition不起作用,已经尝试过。
rassom,2015年

Answers:


11

您可以download像下面这样在链接(锚)中使用该属性:

<a href="some/path/somefile.pdf" download target="_blank">download PDF file</a>

这将强制在支持它的浏览器(Chrome,Firefox和Opera)中下载。但是,根据此链接,IE或Safari当前不支持它。

来源:https : //stackoverflow.com/questions/3802510/force-to-open-save-as-popup-open-at-text-link-click-for-pdf-in-html


1
属性的文档,因为它具有一些很酷的功能。IE固执的情况太糟糕了。w3schools.com/tags/att_a_download.asp

Chrome也限制了相同域和相同端口的属性:-(但是,它们让您通过“另存为”下载文件
user1156544

2

我不确定是否可以通过网站中的自定义代码。据我所知,这完全取决于用户在chrome浏览器中的设置。

基本上,当您键入:chrome:// plugins /时,它将列出您的chrome插件,如果用户禁用名为的插件:Chrome PDF Viewer,则只有chrome会要求下载PDF,否则PDF会在那里自动打开。


谢谢,但没有回答有关我作为网站管理员如何确保未设置此Chrome浏览器首选项设置的用户的行为的问题。但是,很高兴回答您:-)
rassom 2015年

1

您可以简单地做到这一点,而不是单击PDF文件,右键单击它并选择“另存为”,然后chrome将开始下载PDF文件并确保在保存链接地址之前检查文件格式,通常为.pdf,但如果不是,则在其后手动编写.pdf。


谢谢,但没有回答有关我作为网站管理员如何确保未设置此Chrome浏览器首选项设置的用户的行为的问题。但是,很高兴回答您:-)
rassom 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.