下载

53 阅读1分钟
//get下载
export const getDownFilled = (res: any, name: string) => {
  let blob = new Blob([res.data ? res.data : res], {
    type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8",
  });
  let filename = name + ".xlsx";
  let downloadElement = document.createElement("a");
  let href = window.URL.createObjectURL(blob); //创建下载的链接
  downloadElement.style.display = "none";
  downloadElement.href = href;
  downloadElement.download = filename; //下载后文件名
  document.body.appendChild(downloadElement);
  downloadElement.click(); //点击下载
  document.body.removeChild(downloadElement); //下载完成移除元素
  window.URL.revokeObjectURL(href); //释放掉blob对象
};

export const getDownFilledJSON = (res: any, name: string) => {
  let blob = new Blob([res.data ? res.data : res], {
    type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8",
  });
  let filename = name + ".json";
  let downloadElement = document.createElement("a");
  let href = window.URL.createObjectURL(blob); //创建下载的链接
  downloadElement.style.display = "none";
  downloadElement.href = href;
  downloadElement.download = filename; //下载后文件名
  document.body.appendChild(downloadElement);
  downloadElement.click(); //点击下载
  document.body.removeChild(downloadElement); //下载完成移除元素
  window.URL.revokeObjectURL(href); //释放掉blob对象
};
// post下载
export const postDownload = (res: any, name: string) => {
  const BLOB = res.data ? res.data : res;
  const fileReader = new FileReader();
  fileReader.readAsDataURL(BLOB); //对请求返回的文件进行处理
  fileReader.onload = (e) => {
    let a: any = document.createElement("a");
    a.download = name + ".xlsx";
    a.href = e.target?.result;
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
  };
};