前端下载zip,但接口返回数据类型是base64

发布时间:2024年01月06日

请求地址设置:

export function downloadFileBdpp(params) {
  return get({
    url: "/xx/xx/download-file",
    params,
  });
}

base64转文件流

  dataURLtoBlob(base64) {
      let bstr = atob(base64);
      let n = bstr.length;
      let u8arr = new Uint8Array(n);
      while (n--) {
        u8arr[n] = bstr.charCodeAt(n);
      }
      return new Blob([u8arr], { type: 'application/zip' });
   },

调用接口并下载zip文件

   downloadFile() {
      downloadFileBdpp({
        file_id: 文件ID,
      }).then((res) => {
        let link = document.createElement("a");
        link.href = window.URL.createObjectURL(this.dataURLtoBlob(接口返回的base64));
        link.download = "附件.zip";
        link.click();
        window.URL.revokeObjectURL(link.href);
      });
    },

文章来源:https://blog.csdn.net/weixin_42526917/article/details/135389961
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。