vue axios ajax 获取后端流文件下载

说明: 通过ajax发送请求,后端直接返回文件流 下载方法。 一般情况下 new Blod  里面是 res   看后台传的是啥子

 axios({
  method: "get",
  url: process.env.VUE_APP_API_PATH_BASE+url,
  params: data,
  responseType: "blob"
})
.then(res => {
   console.log(res)
  let blob = new Blob([res.data]);
  let downloadElement = document.createElement("a");
  let href = window.URL.createObjectURL(blob); //创建下载的链接
  downloadElement.href = href;
  downloadElement.download = 'xxx.xls'; //下载后文件名
  document.body.appendChild(downloadElement);
  downloadElement.click(); //点击下载
  document.body.removeChild(downloadElement); //下载完成移除元素
  window.URL.revokeObjectURL(href); //释放掉blob对象
})


 

posted @ 2021-04-21 15:30  First·林肯  阅读(648)  评论(0编辑  收藏  举报