看代码

import axiosDown from "axios";

downloadFile(path) {
      return axiosDown({
        url: path,
        method: "get",
        responseType: "blob" // 这一步也很关键,一定要加上 responseType 值为 blob
      });
    },
 downloadWay(item) {
    // console.log(item,'item');
    this.downloadFile(item.fileUrl).then(data => {
      if (!data) {
        return;
      }
      let url = window.URL.createObjectURL(data.data);
      let link = document.createElement("a");
      link.style.display = "none";
      link.href = url;
      // download 属性定义了文件名称,并且是必填,不然会页面会自动识别为跳转路径,而不是文件下载地址
      link.setAttribute("download", item.name);
      document.body.appendChild(link);
      link.click();
      // 销毁添加的a标签
      setTimeout(() => {
        link.parentNode.removeChild(link);
      }, 200);
    });
  },

Logo

前往低代码交流专区

更多推荐