API Error:Detected file type does not match the specified type. Please verify the file

在 Dify(版本 1.3.0 / 1.3.1)中,用户创建了一个文件分析 Workflow,并在起始节点设置了文件上传变量( sql_file )。该 Workflow 在 Web 页面中正常工作,但在通过 API 接口调用时出现错误。用户操作步骤为:

API Error:Detected file type does not match the specified type. Please verify the file

API Error:Detected file type does not match the specified type. Please verify the file

快速结论:该报错通常出现在通过 Dify API 上传文件并调用 Workflow 时,因上传文件返回的 MIME 类型(如 txt)与 Workflow 节点预期的合法 MIME 类型(如 text/plain)不匹配导致。优先排查上传文件返回的 mime_type 字段是否正确。

问题场景

在 Dify(版本 1.3.0 / 1.3.1)中,用户创建了一个文件分析 Workflow,并在起始节点设置了文件上传变量(sql_file)。该 Workflow 在 Web 页面中正常工作,但在通过 API 接口调用时出现错误。用户操作步骤为:

  1. 调用 /files/upload 接口上传文件,获得成功响应;
  2. 调用 /workflows/run 接口执行 Workflow,返回 400 错误。

报错原文

{"code": "invalid_param", "message": "Detected file type does not match the specified type. Please verify the file.", "status": 400}

原因分析

可能原因:上传文件返回的 MIME 类型(mime_type)与 Workflow 节点中文件变量定义的合法类型不匹配。在 Issue 中,用户上传 .txt 文件后,/files/upload 接口返回的 mime_type'txt',但 Dify 对该文件扩展名的合法 MIME 类型预期为 'text/plain'。这种不一致导致 Workflow 校验失败,触发错误。

此外,用户升级至 1.3.1 版本后问题仍未解决,说明该问题并非由特定版本引入,而是与 API 调用时的参数配置有关。

环境排查

  • 确认 Dify 版本:1.3.0 / 1.3.1(Self Hosted Docker)
  • 确认上传文件的扩展名和 MIME 类型:.txt 文件应返回 text/plain,而非 txt
  • 确认 /workflows/run 接口 input_paramstype 字段的值是否与 Workflow 节点定义的文件类型一致

解决步骤

  1. 检查上传文件返回的 MIME 类型
    • 调用 /files/upload 接口上传文件后,检查响应中的 mime_type 字段是否为 text/plain(对于 .txt 文件)。
    • 若返回 txt 或其他不标准类型,说明文件上传时的 MIME 类型检测可能存在问题。
  2. 确保 input_params 中的 type 字段匹配
    • /workflows/run 请求中,input_params 里与文件变量对应的 type 字段值必须为合法的 MIME 类型,如 text/plain
    • 可优先尝试将 type 显式设置为 text/plain(而非仅使用文件扩展名)。
  3. 调整 MIME 类型检测或显式指定
    • 如果无法修改上传服务端的 MIME 类型检测逻辑,考虑在代码中显式指定 mime_type 参数为 text/plain 再上传。
    • 检查 Dify 配置文件(如 web/app/components/develop/template/template_workflow.ja.mdx)中的 MIME 类型映射,确保文件扩展名与标准 MIME 类型对应。

验证方法

重新执行 Workflow API 调用,确认返回状态码为 2xx,且不再出现 Detected file type does not match the specified type 错误。同时可在 Web 页面中测试相同文件的上传与 Workflow 执行,确保一致性。

参考来源

langgenius/dify #19083

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 14778

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注