前端文件流下载

该文章描述了如何在前端使用axios库处理后台返回的文件流进行下载。通过设置responseType为blob,将文件流转换为blob对象,然后创建隐藏的a标签,设定href为文件URL并触发点击下载。同时,文章提到了如何处理文件名和防止乱码问题。
摘要由CSDN通过智能技术生成

前端文件流下载

后台返回文件流,前端获取文件流下载

  downLoad  (url) {
      this.$axios.post(url,  {
        //返回后台的参数数据
      },{responseType:'blob'}).then(data=>{
        if(data){
          const blob = data.data;//获取文件流
          let link = document.createElement("a");
          link.href = URL.createObjectURL( new Blob([blob], { type: data.request.response.type }) );
          // data.request.response.type 获取文件格式
          link.download = JSON.parse(data.config.data).originalname;//获取文件名字
          document.body.appendChild(link);
          link.click();
          URL.revokeObjectURL(link.href);
        }
      }).catch(error => {
       console.error(error)
      });
    }

注:responseType:‘blob’ 请求地址中没有会乱码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值