关于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报错。

相关推荐
l1t13 天前
在DuckDB中使用http(s)代理
数据库·网络协议·http·xlsx·1024程序员节·duckdb
l1t18 天前
DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
xml·开发语言·python·xlsx
会飞的小菠菜22 天前
大量Excel工作簿中的图片怎么批量提取出来
excel·导出·图片·提取·批量·保存·另存为
l1t23 天前
测试DuckDB电子表格读取插件rusty_sheet 0.2版
数据库·rust·插件·xlsx·duckdb
l1t1 个月前
DeepSeek辅助测试三种ODS电子表格写入程序
python·xlsx·ods·deepseek·xlsb
l1t2 个月前
DuckDB新版rusty_sheet 插件测试
xml·数据库·rust·插件·xlsx·duckdb
l1t2 个月前
利用DeepSeek编写验证xlsx格式文件中是否启用sharedStrings.xml对读写效率影响python程序
xml·开发语言·python·算法·xlsx
l1t3 个月前
DeepSeek辅助编写的将xlsx格式文件中sheet1.xml按需分别保留或去掉标签的程序
xml·python·excel·wps·xlsx
zzc9213 个月前
Wireshark导出数据包时间和长度
wireshark·excel·导出·csv·time·length·波形