如何在HTML中创建下载链接?

Ven*_*kat 206 html download

我有一个基本的HTML概念.我想在我的示例网站中创建下载链接,但我不知道如何创建它.如何建立链接以下载文件而不是访问它?

Fel*_* G. 435

在支持HTML5的现代浏览器中,以下内容是可行的:

<a href="link/to/your/download/file" download>Download link</a>
Run Code Online (Sandbox Code Playgroud)

你也可以用这个:

<a href="link/to/your/download/file" download="filename">Download link</a>
Run Code Online (Sandbox Code Playgroud)

这将允许您更改实际下载的文件的名称.

  • Safari和IE不支持.http://www.w3schools.com/tags/att_a_download.asp (15认同)
  • 这不一定有效,因为它仅限于同源 URL。 (12认同)
  • @SulemanMirza"现代浏览器与HTML5",所以一切都很好. (7认同)
  • http://caniuse.com/#search=download%20attribute适用于Chrome,Edge,Firefox,Opera和最新的Android 4.4+浏览器,而不适用于Internet Explorer和Safari. (5认同)
  • 这对我不起作用,我有一个“.exe”文件,我希望用户下载。但是,我尝试自己执行此操作以进行验证,但这不起作用。它只会将我带到我不想查看的源代码。 (3认同)

Pek*_*ica 150

这个答案已经过时了.我们现在具有此处download描述的属性.

如果"下载链接"是指要下载的文件的链接,请使用

  <a href="http://example.com/files/myfile.pdf" target="_blank">Download</a>
Run Code Online (Sandbox Code Playgroud)

target=_blank下载开始前将作出新的浏览器窗口出现.当浏览器发现资源是文件下载时,通常会关闭该窗口.

请注意,浏览器已知的文件类型(例如JPG或GIF图像)通常会在浏览器中打开.

你可以尝试发送正确的头强迫下载喜欢概述如这里.(需要服务器端脚本或访问服务器设置.)

  • @Dudeson请说明"不起作用"以及您正在谈论的IE版本.(现在可以安全地使用下面TIIUNDER最近的答案中描述的方法.它应该得到接受标记.) (3认同)
  • 为什么不使用下载属性,如果你得到一个像 jpg 这样的文件,它会下载,而不是直接打开。 (2认同)
  • 请省略"target ='_ blank'",因为这在IE中不起作用.你有没有测试过吗? (2认同)
  • @Sergiu的答案是七岁。我无法删除它,而问询者也未响应我切换接受标记的请求……尽管我将添加指向最新答案的链接,但我们无能为力 (2认同)
  • @Dani 请参阅下面 TIIUNDER 的答案,现在这是正确的答案。 (2认同)

Myo*_*bis 21

除了(或替代)<a download已经提到的HTML5 属性之外,
浏览器的下载到磁盘行为也可以由以下http响应头触发:

Content-Disposition: attachment; filename=ProposedFileName.txt;
Run Code Online (Sandbox Code Playgroud)

这是HTML5之前的方法(并且仍适用于支持HTML5的浏览器).

  • 但这需要服务器端实现,对吗? (3认同)

Ode*_*ded 9

下载链接将是您要下载的资源的链接.它的构造方式与任何其他链接的构造方式相同:

<a href="path to resource.name of file">Link</a>

<a href="files/installer.exe">Link to installer</a>
Run Code Online (Sandbox Code Playgroud)


Del*_*ani 8

要链接到该文件,请执行与任何其他页面链接相同的操作:

<a href="...">link text</a>
Run Code Online (Sandbox Code Playgroud)

要强制下载即使它们有嵌入式插件(Windows + QuickTime = ugh),您也可以在htaccess/apache2.conf中使用它:

AddType application/octet-stream EXTENSION
Run Code Online (Sandbox Code Playgroud)


小智 7

这个线程现在可能已经很古老了,但这适用于我的本地文件的 html5。

对于 pdf 文件:

<p><a href="file:///........example.pdf" download target="_blank">test pdf</a></p>

这应该在新窗口中打开 pdf 并允许您下载它(至少在 Firefox 中)。对于任何其他文件,只需将其作为文件名即可。对于图像和音乐,您希望将它们存储在与您的站点相同的目录中。所以就像

<p><a href="images/logo2.png" download>test pdf</a></p>
Run Code Online (Sandbox Code Playgroud)