如何触发不带扩展名的URL上的文件下载

时间:2019-01-06 10:31:42

标签: javascript html

当用户单击链接时,我试图触发下载。

我不拥有/没有控制权的服务器上托管的文件,所以我不能仅向文件添加直接URL(例如:https://example.com/video.mp4)。我已经尝试了以下代码,但它没有执行我想要的操作。

<a href="https://example.com/filedownload?file=video" download>Download</a>

我希望用户单击链接时代码可以下载文件。但是,当用户单击链接时,它将在URL上打开一个新选项卡,而不是下载文件。

此外,该链接不是MediaFire样式的下载。如果在页面上按 CTRL + S ,则链接到该页面会下载video.mp4

1 个答案:

答案 0 :(得分:1)

有三种方法可以触发将URL保存到磁盘上,而不是遵循浏览器的默认行为。

  • download attribute仅适用于相同来源 URL。
  • Content-Disposition标头,需要您控制托管文件的服务器。
  • 依靠内容类型,同上,这是一个很糟糕的方法。

实现所需目标的唯一方法是从执行控制的服务器中提供文件。