vue+blob文件流下载导出world、excel、pdf文件

37 篇文章 0 订阅
1 篇文章 0 订阅
function exportMethod(data) {
  axios({
    method: 'get',
    url: 'https:xxx/xxx' + data.url,//接口地址
    params: data.data,//如果是post参数放到请求体data中
    responseType: 'blob',
    headers: {
      'Content-Type': 'application/json'
    }
  }).then((res) => {
    let type = "", type2 = []
    if (data.type == "doc") {
      type = 'application/msword'
      type2 = ['.doc', '.docx']
    } else if (data.type == "pdf") {
      type = 'application/pdf'
      type2 = ['.pdf']
    } else {
      type = 'application/vnd.ms-excel'
      type2 = ['.xls', '.xlsx']
    }
    const link = document.createElement('a')
    let blob = new Blob([res.data], { type })
    link.style.display = 'none'
    link.href = URL.createObjectURL(blob)
    link.download = data.fileName //自定义文件名
    link.type = type2
    document.body.appendChild(link)//下载创建a
    link.click()
    document.body.removeChild(link)//下载完删除a
  }).catch(error => {
    console.log(error)
  })
}

使用

   onClick_seeContract() {
   //点击下载事件
      let data = {
        url: "接口地址",
        data: { 参数},
        type: "doc",//文件类型
        fileName: "嘻嘻",//文件名
      };
      exportMethod(data);
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值