axios下载zip

这篇博客展示了如何使用axios库在JavaScript中实现文件的下载功能,特别是zip文件。通过设置请求头、参数及响应类型,结合Blob和URL.createObjectURL方法,实现了从API获取文件并触发浏览器下载。在实际应用中,该方法被用于处理`documentsDownload`接口的文件下载,参数包括文件路径和自定义文件名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标:

 

实现:

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, '附件');
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值