zoukankan      html  css  js  c++  java
  • vue+element 下载文件

    下载文件,vue请求后台接口,返回的是二进制流,所以前端需要进行一点操作
    如果没用框架,貌似直接将后台接口写进a标签href里即可,但是还是需要在请求头里加上token https://blog.csdn.net/m0_37149617/article/details/100933234 此链接是 a标签下载文件加token

    vue用的axios请求

    1、 import axios from 'axios' (安装不赘述)  

    2、在导出按钮点击事件上
          

    batchExport() {
          let url = ""; //请求下载文件的地址
          let token = ; //获取token
          axios
            .get(url, {
              headers: {
                token: token
              },
              responseType: "blob"
            })
            .then(res => {
              if (!res) return;
              let blob = new Blob([res.data], {
                type: "application/vnd.ms-excel;charset=utf-8"
              });
              let url = window.URL.createObjectURL(blob);
              let aLink = document.createElement("a");
              aLink.style.display = "none";
              aLink.href = url;
              aLink.setAttribute("download", "xxx.xls"); // 下载的文件
              document.body.appendChild(aLink);
              aLink.click();
              document.body.removeChild(aLink);
              window.URL.revokeObjectURL(url);
            })
            .catch(error => {
              this.$message.error(error);
            });
        }
  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    剑指offer-栈的压入、弹出序列
    剑指offer-包含min函数的栈
    图-Dijkster最短路径
    剑指offer-顺时针打印矩阵
    二叉树的镜像
    剑指offer-树的子结构
  • 原文地址:https://www.cnblogs.com/TreeCTJ/p/12509432.html
Copyright © 2011-2022 走看看