数据流下载

该代码段展示了如何在JavaScript中处理接口返回的Blob数据,创建一个可下载的文件。首先检查数据存在,然后创建Blob对象,从响应头获取文件名,利用a标签模拟点击下载,并在完成后释放URL对象。
摘要由CSDN通过智能技术生成

下载

//没数据直接返回
	if (!res.data) {
        return;
      }
      //创建blob文件 (请求接口里要加 responseType: 'blob', 返回格式是数据流)
      //第一个参数是数据, 第二个参数是格式 因为我这边是打包下载所以必须得写
      const blob = new Blob([res.data], { type: 'application/zip' });
      //名称可以在请求头里面截取
      const fileName = decodeURIComponent(
          res.headers['content-disposition'].split(';')[1].split('=')[1]
      );
      const _fileName = fileName;
      if ('download' in document.createElement('a')) {
      	//创建一个a连接
         const elink = document.createElement('a');
         elink.download = _fileName;
         elink.style.display = 'none';
         elink.href = URL.createObjectURL(blob);
         document.body.appendChild(elink);
         elink.click();
         URL.revokeObjectURL(elink.href); // 释放URL 对象
         document.body.removeChild(elink);
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值