自定义文件名,通过模拟a标签下载
downFileFun() {
let url = '';//文件地址
let fileName = '';//文件名
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function () {
if (this.status === 200) {
var blob = new Blob([this.response]);
var blobUrl = window.URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = blobUrl;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(blobUrl);
}
};
xhr.send();
},
如果下载下来的文件打不开或者乱码,有可能是文件转换blod的时候,bold的类型没有设置正确,也有可能是项目上使用了mock,因为mock会对request响应类型做拦截,因此把mock注释掉就可以了
// import Mock from 'mockjs'