前端axios下载excel文件(二进制)的处理方法
程序员文章站
2022-07-06 12:07:57
需求:通过后端接口下载excel文件,后端没有文件地址,返回二进制流文件
实现:axios(ajax类似)
主要代码:
axios:设置返回数据格式为blob或者ar...
需求:通过后端接口下载excel文件,后端没有文件地址,返回二进制流文件
实现:axios(ajax类似)
主要代码:
axios:设置返回数据格式为blob或者arraybuffer
如:
var instance = axios.creat({ ... //一些配置 responsetype: 'blob', //返回数据的格式,可选值为arraybuffer,blob,document,json,text,stream,默认值为json })
请求时的处理:
getexcel().then(res => { //这里res.data是返回的blob对象 var blob = new blob([res.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'}); //application/vnd.openxmlformats-officedocument.spreadsheetml.sheet这里表示xlsx类型 var downloadelement = document.createelement('a'); var href = window.url.createobjecturl(blob); //创建下载的链接 downloadelement.href = href; downloadelement.download = 'xxx.xlsx'; //下载后文件名 document.body.appendchild(downloadelement); downloadelement.click(); //点击下载 document.body.removechild(downloadelement); //下载完成移除元素 window.url.revokeobjecturl(href); //释放掉blob对象 })
总结
以上所述是小编给大家介绍的前端axios下载excel文件(二进制)的处理方法,希望对大家有所帮助