一般在一些运营后台都会需要下载功能,那么前端怎么实现下载功能呢?

下载链接

要下载,首先一个前提条件是需要让浏览器知道从哪下载,简单来说就是给浏览器一个下载地址。

这个地址可以是文件的路径,直接下载;也可以是接口,由后端返回文件流给前端

下载方式

抛开一些框架和工具不提,比较常见的下载方式有两种:<a>window.open

a标签

可以给a标签的href属性赋值上述的下载链接

<a href="https://a.com/test.pdf" download="机密文件.pdf">点我下载</a>

window.open

也可以通过JS的方式进行下载:

function download(url) {
    // 新打开页面进行下载
    window.open(url);
    // 在当前页面下载
    window.open(url, '_self');
}

总结

下载链接:

  1. 文件路径;
  2. 返回文件流的接口。

下载方式:

  1. a标签;
  2. window.open。