axios下载zip

Posted ur home

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios下载zip相关的知识,希望对你有一定的参考价值。

目标:

 

实现:

import axios from 'axios';
import { getToken } from '@/utils/auth';

export const downloadZip = (url: string, params: any, fileName: string) => {
  axios({
    method: 'GET',
    url: `${process.env.VUE_APP_BASE_API}${url}`,
    headers: {
      Authorization: 'Bearer ' + getToken(),
      'Content-Type': 'application/x-www-form-urlencoded',
    },
    params: params,
    responseType: 'blob',
  }).then((res: any) => {
    const blob = new Blob([res.data], { type: 'application/zip' }); // new一个二进制对象
    const url = window.URL.createObjectURL(blob); // 转化为url
    const link = document.createElement('a'); // 创建个a标签
    link.href = url;
    link.download = fileName; // 重命名
    link.click();
    URL.revokeObjectURL(url); // 释放内存
  });
};

使用:

const documentsDownload = `rest/xxx/documentsDownload`;

private async handleDownload(file: string) {
   const param = { fileWebPaths: file };
   await downloadZip(documentsDownload, param, '附件');
}

以上是关于axios下载zip的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip

ajax与 axios的基础讲解(附代码及接口)

项目集成element-plus和axios