- 纯前端实现
<a href="./static/public/template.xlsx" download="templatehaha.xlsx">
<el-button type="primary"> download </el-button>
</a>
主要通过a标签的href属性来实现下载功能, download属性规定被下载的超链接目标;download属性详情;
如果没有添加download属性,可能会造成部分文件直接在浏览器中打开;如以.jpg,.pdf 等为后缀的文件;
此处的href路径是以index.html为参考的;
- 前后端交互
var blob = new Blob([],{type:'application/excel;charset=utf-8'})
var downloadElement = document.createElement('a')
var href = window.URL.createObjectURL(blob) //创建下载链接
let sendParams = Base64.encode(JSON.stringify('传递的参数')) // 可以省略 具体看业务需求
downloadElement.href = '接口地址'// 此处可以通过拼接字符串的方式传递参数
document.body.appendChild(downloadElement)
downloadElement.click() // 点击下载
document.body.removeChild(downloadElement) // 下载完成之后移除元素
window.URL.removeObjectURL(href) // 释放掉blob对象
网友评论