vue项目中使用axios下载文件

  1. 封装方法,这是post方式,get同理
    1. const downLoadFilePost = (url, data, headers = {},fileName) => {
          return axiosServer({
              method: 'post',
              url,
              data,
              responseType: 'blob',
              headers
          }).then(response => {
               // 创建一个新的 Blob 对象
              const blob = new Blob([response.data], { type: response.headers['content-type'] });
              
              // 创建一个下载链接
              const link = document.createElement('a');
              
              // 创建 URL 对象,指向 Blob 对象
              link.href = URL.createObjectURL(blob);
              link.download = fileName || 'downloaded-file';  // 设置默认文件名
              
              // 触发下载
              link.click();
              
              // 释放 URL 对象
              URL.revokeObjectURL(link.href);
          }).catch(error => {
              console.error('下载文件失败:', error);
          });
          
      }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值