故障排查GitHub issue2 分钟阅读排错/错误码

解决FastGPT早期Office文件无法正常解析的问题

FastGPT 4.8.9及后续版本支持文件上传功能,但原生仅支持解析.txt, .docx, .csv, .xlsx, .pdf, .md, .html, .pptx格式文件。使用xls、doc、ppt等早期Office格式文件时,无法直接完成解析。

现象

FastGPT 4.8.9及后续版本支持文件上传功能,但原生仅支持解析.txt, .docx, .csv, .xlsx, .pdf, .md, .html, .pptx格式文件。使用xls、doc、ppt等早期Office格式文件时,无法直接完成解析。通过Python转换后的xls、doc可正常通过API调用文档解析,但转换后的pptx文件解析会触发报错,报错信息包括[xmldom error] invalid doc source,以及TypeError: Cannot read properties of undefined (reading 'getElementsByTagName'),堆栈信息指向/app/projects/app/.next/server/worker/readFile.js相关代码。

可能原因

前端可能存在文件后缀拦截逻辑,后端文档解析模块原生未适配xls、doc、ppt等早期Office格式的直接解析。转换后的pptx文件虽可正常打开,但仍存在解析异常的情况。

排查步骤

  1. 确认待解析文件格式,检查是否为xls、doc、ppt等早期Office格式。
  2. 通过API接口发起文件解析请求,记录返回的报错文本与堆栈信息。
  3. 使用Python工具将xls、doc、ppt转换为docx、xlsx、pptx格式,确认转换后的文件可正常打开。
  4. 调用FastGPT文档解析API,验证转换后的文件解析结果。

解决与验证

可通过提前转换文件格式的方式处理该问题。使用Python将doc、xls、ppt转换为docx、xlsx、pptx格式,转换后的文件可通过API正常调用文档解析。需按实际环境确认转换后的pptx文件是否存在解析异常。验证方式为上传转换后的docx、xlsx、pptx文件,确认可正常完成文档解析流程。

来源: FastGPT GitHub issue #2507