vue下载excel权限限制处理


 在开发过程中会遇到下载excel但是需要传token来验证的问题,一般情况下是用直接指向地址来实现,但是token校验没办法实现,所以就用到了blod

 一般情况下:

var pathurl = process.env.VUE_APP_CUSTOMERRL_URL + 'xxx/xxxx';
window.open(pathurl, '_blank')

采用blod:

var xhr = new XMLHttpRequest();
var formData = new FormData(); xhr.open('get',process.env.VUE_APP_CUSTOMERRL_URL + 'xxx/xxxx'); xhr.setRequestHeader("Authorization",'bearer '+localStorage.getItem("access_token"));  xhr.responseType = 'blob'; xhr.onload = function (e) { let blob = new Blob([xhr.response], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'}); let downloadElement = document.createElement('a'); let href = window.URL.createObjectURL(blob); //创建下载的链接 downloadElement.href = href; downloadElement.download = 'demo.xlsx'; //下载后文件名 document.body.appendChild(downloadElement); downloadElement.click(); //点击下载 document.body.removeChild(downloadElement); //下载完成移除元素 window.URL.revokeObjectURL(href); //释放掉blob对象 }; xhr.send(formData);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM