记录:vue下载word文档
本篇记录在项目过程中自己所用到过的较好用的方法,以便后期方便查找~~
this.$axios({
method: "get",
responseType: "blob", //这里如果不设置,下载会打不开文件 arraybuffer或者blob均可以
url: url,
}).then(res => {
let fileName = e1;
// 通过后台返回 的word文件流设置文件名并下载
let blob = new Blob([res.data], {//[res.data],开发过程中要和后台沟通好,返回的文件流是在res中还是在res.data中。
type:"application/msword"//下面的格式也行
}); //applicationnd.openxmlformats-officedocument.wordprocessingml.document这里表示doc类型
if(window.navigator.msSaveOrOpenBlob){// 兼容IE10
navigator.msSaveBlob(blob, fileName);
}else{
let downloadElement = document.createElement("a");
let href = window.URL.createObjectURL(blob); //创建下载的链接
downloadElement.href = href;
downloadElement.download = fileName; //下载后文件名
document.body.appendChild(downloadElement);
downloadElement.click(); //点击下载
document.body.removeChild(downloadElement); //下载完成移除元素
window.URL.revokeObjectURL(href); //释放掉blob对象
}
})
.catch(err => {
console.log(err);
});