根据后端返回体下载不同类型的文件

getTest() {
      let urls = "/apis/lebel_pdf";
      let _data = {
        pdf_id: this.download_id,
      };
      this.loading = true;
      this.dialogVisible = false;
      let tokens = JSON.parse(localStorage.getItem("access_token"));
      axios({
        method: "POST",
        url: urls,
        data: _data, //请求数据
        responseType: "blob", //响应类型
        getResponse: true, // 获取整个 response对象
        xsrfHeaderName: "Authorization",
        headers: {
          "Content-Type": "application/json",
          //   Authorization: getToken(),
          Authorization: "Bearer " + tokens.token,
          //   lang: InitLanguage(),
        },
      })
        .then((res) => {
          //let blob = new Blob([res.data], {
          //  type: 'application/vnd.ms-excel' //文件格式对应文件后缀xls(比如xlsx/dotx等)
          // })
          console.log(res, "res");
          console.log(res.data.type, "res");
          console.log(res.headers, "res");
          var index = res.data.type.lastIndexOf("/");
          var ext = res.data.type.substr(index + 1);
          console.log(ext, "ext");
          let url = window.URL.createObjectURL(new Blob([res.data]));
          console.log(url);
          let link = document.createElement("a");
          link.style.display = "none";
          link.href = url;
          link.setAttribute(
            "download",
            this.fn_sku + "_" + this.id_label + "." + ext
          );
          // + '.pdf'
          document.body.appendChild(link);
          link.click();
          this.loading = false;
          ElMessage({
            message: "下载成功",
            type: "success",
          });
          this.getEmailType();
        })
        .catch((error) => {
          this.$notify.error({
            title: "错误",
            message: error.message,
          });
        });
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值