关于xlsx下载一直报错问题记录

首先,有两个导出xlsx接口,其中一个已经对接完成,另一个导出一直失败,遂查看原因;

导出成功的接口返回图如下:

导出失败的接口返回图如下:

此时我一直认为接口返回的数据格式有问题,然后去看我的代码,

接口代码:

javascript 复制代码
// 问题导出
  static chunkExport(data: any) {
    return request<any>({
      url: `${BASE_URL}/chunk/export`,
      method: "post",
      data,
      responseType: "blob",
    });
  }

我发现我已经设置了 responseType: "blob",然后就去看我的request.ts代码,如下:

javascript 复制代码
// 检查配置的响应类型是否为二进制类型('blob' 或 'arraybuffer'), 如果是,直接返回响应对象
    if (response.config.responseType === "blob" || response.config.responseType === "arraybuffer") {
      if (response.data.type !== "application/json") {
        return response;
      }
      response.data = await handlerBlobJson(response.data);
    }

随后,检查接口的响应标头中的Content-Type,

导出成功的Content-Type图如下:

导出失败的Content-Type图如下:

然后发现接口返回的Content-Type值错误,在我的响应拦截器被拦截,走了错误的逻辑,二进制文件当作 JSON 文本解析,导致JSON.parse报错。

相关推荐
winfredzhang8 天前
Python 从零打造桌面文件管理工具开发全过程实录与源码深度解析
python·pdf·视频·图片·docx·xlsx
SuperEugene10 天前
Excel 上传解析 + 导出实战:Vue+xlsx 避坑指南|Vue生态精选
前端·javascript·vue.js·excel·xlsx·vxetable
Highcharts.js1 个月前
【Highcharts】如何用命令行渲染导出图片?
javascript·导出·开发文档·highcharts·命令行渲染·命令行功能
william_djj2 个月前
python3.8 提取xlsx表格内容填入单个文件
windows·python·xlsx
jogging2 个月前
mysql导出表结构信息到excel【DBeaver】
mysql·oracle·excel·导出·表结构
Access开发易登软件4 个月前
Access导出带图表的 HTML 报表:技术实现详解
数据库·后端·html·vba·导出·access
l1t5 个月前
在DuckDB中使用http(s)代理
数据库·网络协议·http·xlsx·1024程序员节·duckdb
l1t5 个月前
DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
xml·开发语言·python·xlsx
会飞的小菠菜5 个月前
大量Excel工作簿中的图片怎么批量提取出来
excel·导出·图片·提取·批量·保存·另存为