后端接口返回:

前端需要在两个地方写代码:
1.封装接口处,responseType: 'blob'

2.接收相应处
download() {
      if (this.selectionList.length == 0) {
        this.$message.error("请选择要导出的数据!");
      } else {
        examineruleExport().then((res) => {
          // 处理二进制数据并创建 Blob 对象
          const blobObj = new Blob([res], { type: 'application/octet-stream' });
          // 创建一个链接并设置下载属性
          const downloadLink = document.createElement("a");
          let url = window.URL || window.webkitURL || window.moxURL; // 兼容不同浏览器的 URL 对象
          url = url.createObjectURL(blobObj);
          downloadLink.href = url;
          downloadLink.download = '东宋泵站绩效考核评分标准表.xlsx'; // 设置下载的文件名
          // 将链接添加到 DOM 中,模拟点击
          document.body.appendChild(downloadLink);
          downloadLink.click();
          // 移除创建的链接和释放 URL 对象
          document.body.removeChild(downloadLink);
          window.URL.revokeObjectURL(url);
        });
      }
    },具体内容参考:vue 将后端返回的二进制流进行处理并实现下载_vue 二进制流 下载文件-CSDN博客



















