vue接收文件流并下载

直接上代码

// responseType: 'blob' 很重要,这里举例为post请求
axios.post(url,params,{responseType: 'blob'})
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });
// 前端接收并下载
  download(param).then(res => {
      console.log(res, "返回数据");
      // 创建blob对象,type注意与后端返回的文件类型保持一致,这里是doc,docx 类型的
      // type也可以不填
      var blob = new Blob([res.data], { type: 'application/msword;charset=utf-8' });
      let url = window.URL.createObjectURL(blob);//生成一个Blob URL
      console.log(url)
      let link = document.createElement('a');
      link.style.display = 'none';
      link.href = url;
      link.setAttribute('download','下载文件.doc');// 给下载框的下载文件名赋值
      document.body.appendChild(link);
      link.click() //模拟在按钮上的一次鼠标单击
      URL.revokeObjectURL(link.href); // 释放URL 对象
     })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值