网页和H5下载文件
1.线上路径下载写法
// 创建一个a标签
let link = document.createElement('a')
// 隐藏
link.style.display = 'none'
// 下载的链接
link.href = 'https://www.baidu.com'
link.setAttribute('download', 'xxx.xlsx')
// 插入到body节点中
document.body.appendChild(link)
// 点击触发
link.click()
// 然后移除
document.body.removeChild(link)
2、数据流格式的处理方法
// 将十六进制转换成二进制的格式
const buf = Buffer.from(res.data, 'binary')//将数据转换成二进制流
const blob = new Blob([buf], { type: 'application/vnd.ms-excel;charset=utf-8' });//将二进制数据存入blob对象
let link = document.createElement('a');//添加a标签
// window.URL.createObjectURL 处理二进制数据存入blob对象,变成URL路径
let href = window.URL.createObjectURL(blob)//设置url
link.href = href;//将url添加href属性
link.download = 'xxx.xlsx';//设置文件名字
document.body.appendChild(link);//添加dom节点
link.click();//执行点击操作
document.body.removeChild(link); // 下载完成移除元素
window.URL.revokeObjectURL(href); // 释放掉blob对象