Dify工作流中文件上传与下载节点处理

P粉328763957

P粉328763957

2026-06-07

1087人浏览

原创

在dify工作流中需配置文件上传节点支持指定类型并匹配字段名,下游通过代码节点读取$inputs.file.content等字段或直连文档解析节点,生成文件时用bytesio封装并开启“返回文件”,api调用须设置accept头以获取原始文件流。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

dify工作流中文件上传与下载节点处理

在Dify工作流中实现文件上传与下载节点的联动处理,需确保文件从用户端上传后能被后续节点正确读取、解析,并支持按需生成并返回文件供前端下载。若跳过中间文件路径校验或忽略MIME类型约束,工作流可能在运行时抛出FileNotFoundError或触发空内容解析失败。

配置上传节点接收文件

打开工作流画布,拖入「文件上传」节点→双击编辑→在「支持的文件类型」中勾选实际需要的扩展名(如.pdf.xlsx.txt),【未勾选的类型将被Dify服务端直接拦截,前端不会报错但文件无法进入流程】

启用「多文件上传」开关,若业务需批量处理;关闭则仅接受单个文件。上传字段名称默认为file,如需对接已有前端表单,请保持字段名一致,否则后端收不到文件流。

让下游节点读取上传的文件内容

方法一:使用「代码节点」读取二进制内容
在上传节点后连接「代码节点」→语言选Python→输入以下代码:

file_data = $inputs.file.content  # 字节流<br>file_name = $inputs.file.name      # 原始文件名<br>file_type = $inputs.file.mime_type # MIME类型,如application/pdf

注意:$inputs.file是固定结构,不可写成$inputs.files$inputs.upload,否则返回None

php获得文件的mime type类
php获得文件的mime type类

php获得文件的mime type类

下载

方法二:直连「文档解析」节点
上传节点→文档解析节点→选择解析方式(如PDF文本提取、Excel表格转JSON)→输出为textstructured_data字段,供后续LLM或条件判断节点使用。

生成文件并触发下载

第一步:在代码节点中构造响应文件对象
使用Python内置io.BytesIO封装字节内容,例如生成CSV:

import io<br>import csv<br>output = io.BytesIO()<br>writer = csv.writer(output)<br>writer.writerow(["序号", "结果"])<br>writer.writerow([1, $inputs.processed_result])<br>output.seek(0)

第二步:设置节点输出格式为文件响应
在代码节点「高级设置」中开启「返回文件」→填写「文件名」(支持模板变量,如result_{$inputs.file.name}.csv)→选择「Content-Type」为text/csvapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet等对应类型。

第三步:部署后调用API时,必须在请求头中携带Accept: application/json以外的值(如Accept: text/csv),否则Dify默认返回JSON包装体而非原始文件流。【缺少该请求头将导致前端收到200但内容为JSON,而非可下载的文件】

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

dify dify工作流

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Dify 本地部署与企业配置
Dify 本地部署与企业配置

本专题系统讲解 Dify 从零开始的本地部署方法与企业环境配置实践,涵盖 Docker 安装、依赖准备、数据库初始化、反向代理、参数调优、安全加固与多用户开通,帮助开发者与企业团队快速搭建稳定可用的 Dify 平台。

2026.06.05

72

15

Dify Agent智能体开发实战教程
Dify Agent智能体开发实战教程

本专题聚焦 Dify Agent 智能体的设计与开发,涵盖 Agent 模式选择、工具集成、提示词设计、多步推理、上下文记忆与多 Agent 协作,帮助开发者构建可执行复杂业务任务的智能体应用。

2026.06.05

97

15

Dify RAG知识库构建实战教程
Dify RAG知识库构建实战教程

本专题围绕 Dify RAG 知识库的全流程实践展开,从文档导入、分段切片、向量化到混合检索、重排优化与召回评估,帮助你打造高准确率、低幻觉的企业知识问答应用。

2026.06.05

110

15

Qt Creator按钮响应设置方法
Qt Creator按钮响应设置方法

信号槽是 Qt 开发的核心机制。本专题整理 Qt Creator 中按钮点击、菜单触发、输入变化、窗口事件、自定义信号、自动连接槽函数和手动 connect 写法,帮助用户理解界面控件如何和 C++ 代码联动。

2026.08.05

0

10

Qt Creator新建项目使用教程
Qt Creator新建项目使用教程

本专题整理 Qt Creator 新建项目、打开已有工程、项目模板选择、目录结构、源文件管理、构建目录、运行配置和项目迁移方法,重点解决新手不知道选 qmake 还是 CMake、项目打不开、文件不参与编译等常见问题。

2026.08.05

0

10

maven常用插件使用大全
maven常用插件使用大全

PHP中文网精心整理Maven主流插件用法合集,涵盖编译、测试、打包等常用插件使用大全。从基础配置到进阶实战,详细解析各插件功能与适用场景,助你轻松掌握Maven自动化构建,解决Java项目开发痛点,是开发者必备的实用指南。

2026.08.05

0

31

PyCharm快速入门指南
PyCharm快速入门指南

本专题汇总了PyCharm快速入门的全套指南与教程,涵盖从官网下载安装、创建第一个Python项目、配置虚拟环境,到代码编辑、运行调试等基础操作,并整理了版本控制(Git)集成、常用高效快捷键及实用插件等进阶技巧,助你快速上手这款高效的Python IDE。

2026.08.05

2

17

PyCharm运行程序教程大全
PyCharm运行程序教程大全

本专题汇总了PyCharm运行程序的多种方式与详细操作步骤,涵盖通过主菜单Run、点击工具栏绿色三角图标、使用快捷键Shift+F10(或Ctrl+Shift+F10)等基本运行方法,以及配置运行/调试参数、设置PYTHONPATH环境变量、管理多脚本运行与交互式Python控制台调试等进阶技巧,助您全面掌握在PyCharm中高效运行与管理Python程序的方法。

2026.08.05

0

14

Maven零基础入门教程
Maven零基础入门教程

本合集由PHP中文网精心整理,提供Maven零基础入门到完整使用的保姆级教程。内容涵盖环境安装、核心配置、仓库管理及项目构建等核心知识点。通过详细步骤解析与代码示例,助你快速掌握Maven的依赖管理与自动化构建,轻松解决Java项目中的各种痛点,是新手入门与进阶的必备指南。

2026.08.05

2

18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Dify零基础教程
Dify零基础教程

共0课时 | 104人学习

学习Agent,从Dify开始
学习Agent,从Dify开始

共0课时 | 97人学习

Dify 部署与运维指南
Dify 部署与运维指南

共0课时 | 0人学习