vue,下载保存文件流导出

vue,下载保存文件流

  • API封装、api文件

import {
  createAPI
} from './util'

const instance = createAPI()

export function exportList(opts) {
  return instance({
    responseType: 'blob',   // 下载需要添加类型,否则会乱码
    method: 'get',//请求方法
    url: '/managerApplyRollCall/findApplyRollCallList',//接口路径
    opts: opts || {}
  })
}


  • 使用API的文件,vue文件
  // 导出当前报名列表
    let list=this.data   //data表格数据
    importExcel() {    //导出事件触发函数
      exportList({ params: list }).then((res) => {
        const content = res;
        const blob = new Blob([content], { type: "application/x-xls" });
        const fileName = "报名列表记录.xls";
        if ("download" in document.createElement("a")) {
          // 非IE下载
          const elink = document.createElement("a");
          elink.download = fileName;
          elink.style.display = "none";
          elink.href = URL.createObjectURL(blob);
          document.body.appendChild(elink);
          elink.click();
          URL.revokeObjectURL(elink.href); // 释放URL 对象
          document.body.removeChild(elink);
        } else {
          // IE10+下载
          navigator.msSaveBlob(blob, fileName);
        }
      });
    },

猜你喜欢

转载自blog.csdn.net/weixin_44221744/article/details/112461617