前后端分离 通过链接直接导出数据 如何进行权限控制
下载附件或者导出数据为文件的时候
前端可以直接使用如下方式下载
window.location.href='下载链接'
window.open(下载链接)
前后端分离中这种方式不能把token也一起传到后端进行请求,导致权限不够访问不了后端
网上有如下解决方式, 总感觉不优雅
/**
* 导出用户列表
*/
private exportUsers(){
this.http.doPost({
url: 'system/sysmanager/user/exportUsers',
responseType:ResponseContentType.Blob,
body:this.form, //传入后端的表单数据
success: (req, res) => {
var blob = new Blob([res.json()]); //创建一个blob对象
var a = document.createElement('a'); //创建一个<a></a>标签
a.href = URL.createObjectURL(blob); // response is a blob
a.download = "用户列表.xlsx"; //文件名称
a.style.display = 'none';
document.body.appendChild(a);
a.click();
a.remove();
}
});
}
请问有其它更好的方式吗
推荐文章: