You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将axios GET请求返回的二进制响应通过file-saver保存为PDF文件

解决axios GET请求下载PDF文件方案

首先纠正现有配置的错误:你当前把responseType放在了headers字段内,这是错误用法,responseType是Axios请求配置的顶层参数,需要移出headers。

完整实现步骤

  • 第一步:修正Axios请求配置
const config: AxiosRequestConfig = {
  headers: {
    Accept: 'application/pdf',
  },
  responseType: 'arraybuffer', // 移至顶层配置位
};
  • 第二步:发起请求并处理响应完成下载
import axios from 'axios';
import { saveAs } from 'file-saver';

// 封装PDF下载方法
const downloadPdf = async (requestUrl: string, fileName: string = '导出文件.pdf') => {
  try {
    const res = await axios.get(requestUrl, config);
    // 将二进制响应转为PDF类型的Blob对象
    const pdfBlob = new Blob([res.data], { type: 'application/pdf' });
    // 调用saveAs触发浏览器下载
    saveAs(pdfBlob, fileName);
  } catch (err) {
    // 可自行扩展错误处理逻辑
    console.error('PDF下载失败', err);
  }
}
  • 额外说明:如果后端返回的响应头包含content-disposition字段并指定了文件名,你可以从响应头中解析该文件名替换自定义的fileName参数,无需手动指定文件名。

内容的提问来源于stack exchange,提问作者Alvaro Losada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:54:00