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

相关推荐
奔跑的呱呱牛4 天前
前端/Node.js操作Excel实战:使用@giszhc/xlsx(导入+导出全流程)
前端·node.js·excel·xlsx·sheetjs
Highcharts.js4 天前
Highcharts 前端导出详解:如何实现纯客户端导出(Offline Exporting)
前端·客户端·导出·highcharts·导出图片
Highcharts.js4 天前
Highcharts 命令行渲染指南:如何使用 Node 导出服务器批量生成图表图片
服务器·数据可视化·导出·命令行·图表·highcharts
奔跑的呱呱牛4 天前
xlsx 已停止维护且存在漏洞!推荐一个可直接替代的 npm 库
前端·npm·node.js·xlsx·sheetjs
winfredzhang1 个月前
Python 从零打造桌面文件管理工具开发全过程实录与源码深度解析
python·pdf·视频·图片·docx·xlsx
SuperEugene1 个月前
Excel 上传解析 + 导出实战:Vue+xlsx 避坑指南|Vue生态精选
前端·javascript·vue.js·excel·xlsx·vxetable
Highcharts.js2 个月前
【Highcharts】如何用命令行渲染导出图片?
javascript·导出·开发文档·highcharts·命令行渲染·命令行功能
william_djj3 个月前
python3.8 提取xlsx表格内容填入单个文件
windows·python·xlsx
jogging3 个月前
mysql导出表结构信息到excel【DBeaver】
mysql·oracle·excel·导出·表结构
Access开发易登软件5 个月前
Access导出带图表的 HTML 报表:技术实现详解
数据库·后端·html·vba·导出·access