前端实现zip文件下载

23 阅读1分钟

根据后端返回的二进制数据,转成Blob对象,并通过浏览器下载 代码如下:

/**注意:文件名需要看后端有没有返回,new Blob时[]中的数据需要是你对应的后端返回的blob**/
const downloadFile = () => {
  const downloadUrl = `https://xxxxx.com/data_app/set_download/?id=xxx`
  request({
    url: downloadUrl,
    method: "GET",
    responseType: 'blob'
  })
  .then((response: any) => {
    const blob = new Blob([response], {type: "application/zip"})
    const link = document.createElement('a')
    link.href = window.URL.createObjectURL(blob);
    link.setAttribute('download', 'download.zip');
    link.click()
  })
}