1.后台服务器有静态资源且是固定的文件名(GET方式下载文件)
场景:已经生成的静态文件
第一种使用js
1 | window.location.href="http://www.域名/template.xlsx(文件名)" |
第二种 href
1 | <a href="http://www.域名/template.xlsx(文件名)"></a> |
ps
: 有跨域问题
2.后台返回文件流
场景:动态数据生成
第一种 Data 协议
1 | axios.post(请求路径URL, {参数Params}, { |
第二种使用 blob + window.URL.createObjectURL
动态数据下载,原理都是创建 blob协议的链接
1 | // `responseType` 表示服务器响应的数据类型, |
第三种 href + data协议
适用于json,document 纯文档下载
1 | function download(filename, text) { |