因为下载的时候,要加请token。
方法一:
//获得token
let tokenData = lib.cookie.get("Hpc-Platform-Token")
this.http.get('/client/file/downloadkey', {
headers: { token: tokenData },
responseType: 'blob',
}).then(response => {
let blob = new Blob([response.data], {
//这里的type要和后端一致
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
});
let Url = URL.createObjectURL(blob); //生成一个url
const a = document.createElement('a');
a.href = Url;
a.download = this.$store.state.user.username + '.txt';
a.click();
window.URL.revokeObjectURL(Url);
})
方法二:
//获得token
let tokenData = lib.cookie.get("Hpc-Platform-Token")
let _this = this
let xhr = new XMLHttpRequest()
xhr.open('GET', '/client/file/downloadkey', true)
xhr.setRequestHeader("X-Authorization", tokenData);
xhr.responseType = 'blob';
xhr.onload = function (e) {
console.log(e);
console.log(this);
// //如果请求执行成功
if (this.status == 200) {
var blob = this.response;
let Url = URL.createObjectURL(blob); //生成一个url
const a = document.createElement('a');
a.href = Url;
a.download = '文件名称' + '.txt';
a.click();
window.URL.revokeObjectURL(Url);
}
};
//发送请求
xhr.send();