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

解决FastGPT文档解析模块处理转换后的PPTX文件报错的问题

将doc、xls、ppt文件转换为docx、xlsx、pptx格式后,通过FastGPT文档解析模块处理时,docx与xlsx文件可正常解析,但pptx文件触发报错。

现象

将doc、xls、ppt文件转换为docx、xlsx、pptx格式后,通过FastGPT文档解析模块处理时,docx与xlsx文件可正常解析,但pptx文件触发报错。报错信息包含:[xmldom error] invalid doc source @#[line:0,col:undefined],以及TypeError: Cannot read properties of undefined (reading 'getElementsByTagName'),完整调用栈指向/app/projects/app/.next/server/worker/readFile.js相关代码段。转换生成的pptx文件可正常打开,python转换日志显示转换请求返回200状态码且转换流程正常。

可能原因

报错指向FastGPT文档解析模块在读取文件时无法获取预期的DOM节点。由于转换后的pptx文件可正常打开,推测问题可能与转换后文件的内部结构与FastGPT文档解析模块的处理逻辑不匹配有关,具体根因需结合实际环境进一步确认。

排查步骤

  1. 确认原始文件已完成格式转换,且转换后的docx、xlsx、pptx文件可正常打开。
  2. 检查FastGPT文档解析模块的调用参数与文件路径,确保符合模块要求。
  3. 复现文件上传与解析流程,抓取完整报错日志,确认是否出现指定的xmldom错误与TypeError报错。
  4. 对比可正常解析的转换文件与异常pptx文件的内部结构,需按实际环境确认具体差异点。

解决与验证

  1. 使用python工具执行格式转换,将doc文件转换为docx(使用MS Word 2007 XML过滤器)、xls转换为xlsx(使用Calc Office Open XML过滤器)、ppt转换为pptx(使用Impress MS PowerPoint 2007 XML过滤器),确保转换后的文件可正常打开。
  2. 通过FastGPT提供的API调用文档解析模块,传入转换后的文件。
  3. 验证解析结果,确认docx、xlsx文件可正常解析,pptx文件的报错问题已解决。

来源: FastGPT GitHub issue #3063