强制打开“另存为...”弹出窗口,该链接在文本链接处单击,单击HTML中的PDF


173

我的网站上有一些大尺寸的PDF目录,我需要将其链接为下载文件。当我用谷歌搜索时,发现以下这样的事情。单击链接时应打开“ 另存为... ”弹出窗口。

 <head>
    <meta name="content-disposition" content="inline; filename=filename.pdf">
    ...

但是它不起作用:/当我如下所示链接到文件时,它只是链接到文件并试图打开文件。

    <a href="filename.pdf" title="Filie Name">File name</a>

更新(根据下面的答案):

如我所见,目前还没有100%可靠的跨浏览器解决方案。最好的方法可能是使用下面列出的一种Web服务,并提供下载链接...


1
不要将MIME类型用作pdf文件。
bhups 2010年

我尝试了更新的解决方案artmania-但发生了我在Safari中遇到的相同问题。我在浏览器窗口中得到的外观类似于PDF,只有当我单击底部的“预览”或“下载”选项卡时,我才能获得急需的搜索功能。
heathwaller10年


Answers:


267

单击链接后强制浏览器将文件保存为的答案:

<a href="path/to/file" download>Click here to download</a>

17
在发表评论时,该download属性仅限于Chrome,Firefox和Opera。即使是IE和Safari的最新版本也不支持它。有关将来的支持,请访问caniuse.com/#feat=download
Sygmoral 2014年

Netbeans错误检查对此有所抱怨,但似乎可以正常工作。您可以像这样为新文件指定一个初步名称:download =“ myFile.txt”
Yster 2015年

1
在撰写此评论时,这在Edge中有效,并且似乎是Edge尝试PDF查看器的极差尝试中停止超链接PDF打开的唯一方法。

在发表评论时,我已经在Chrome,Opera,Edge,Mozilla上对其进行了测试。全部最新。除Mozilla之外,其他所有产品都在工作。
SI

6
caniuse.com/#feat=download所述,这仅适用于同源链接。如果您的链接是跨源链接,那么您的唯一选择(目前)是将响应类型强制为“ application / octet-stream”,正如许多答案所建议的那样。如果您无权访问服务器,则可以尝试代理它并手动设置响应头。
让·巴蒂斯特
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.