讲师中心 微信公众号
AI工具推荐 视频效率加速

Dify工作流中文件二进制流与Base64编码转换

落瑶大大_1893

落瑶大大_1893

发布时间:2026-10-31 11:26:19

|

724人浏览过

|

来源于php中文网

原创

Dify工作流中需将PDF/Word等文件转Base64编码后传递:上传文件路径为user_file.0.path,用Python代码节点读取并base64编码;解码时须去除Data URI前缀,写入/tmp临时文件并校验长度。

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

dify工作流中文件二进制流与base64编码转换

在Dify工作流中处理用户上传的PDF、Word等文档时,必须将原始文件转换为Base64编码字符串,才能安全嵌入HTTP请求体或传入下游代码节点进行解析——因为Dify工作流节点间仅支持文本/JSON类型变量,【二进制文件对象无法直接跨节点传递】。

获取上传文件的本地路径

在用户输入节点配置字段类型为「文件列表」后,Dify会自动将每个上传文件保存至沙箱临时目录,并通过变量(如user_file.0.path)暴露其绝对路径。

该路径形如/tmp/dify_files/abc123.pdf,仅在当前工作流执行生命周期内有效,不可硬编码或持久化引用。

若需批量处理多个文件,请用列表操作器节点遍历user_file数组,逐个提取.path字段。

用代码节点执行Base64编码

方法一:Python内置方案(推荐)

添加「代码执行」节点,语言选Python,粘贴以下代码:

import base64<br>with open(workflow.input.file_path, "rb") as f:<br>  encoded = base64.b64encode(f.read()).decode("utf-8")<br>workflow.output({"base64_content": encoded})

注意:此处file_path需替换为上游传入的实际变量名,例如user_file.0.path;【不校验文件是否存在,路径错误将直接报错中断流程】。

方法二:JavaScript方案(适用于前端预处理或轻量场景)

Dify
Dify

Dify AI应用开发平台指南。用于构建LLM应用、工作流、Agent和知识库。当用户需要(1)使用Dify创建AI应用 (2)设计LLM工作流 (3)配置知识库RAG (4)开发AI Agent (5)调用Dify API (6)自托管部署Dify时激活此技能。

下载

若已在前端完成Base64编码,可跳过此步,直接将编码字符串作为文本变量传入工作流。Dify对字符串长度无硬性限制,但单次HTTP请求建议控制在10MB以内。

将Base64还原为二进制文件流

第一步:确认Base64字符串不含Data URI前缀

检查输入字符串是否以data:application/pdf;base64,开头。如有,必须先用.split(",")[1]截取纯Base64段,否则解码失败。

第二步:在代码节点中执行解码

Python示例:

import base64<br>import os<br>raw = workflow.input.base64_content<br>decoded = base64.b64decode(raw)<br># 生成唯一临时文件名<br>filename = f"decoded_{hash(raw[:10]) % 10000}.bin"<br>file_path = os.path.join("/tmp", filename)<br>with open(file_path, "wb") as f:<br>  f.write(decoded)<br>workflow.output({"file_path": file_path})

这一步操作起来很简单,直接把代码复制进去就行。生成的file_path可用于后续文档解析、OCR调用或HTTP上传节点。

第三步:验证文件完整性(可选但强烈建议)

在解码后追加校验逻辑:if len(decoded) == 0: raise ValueError("Base64解码结果为空"),避免空内容导致下游节点静默失败。

热门AI工具

更多
超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
WorkBuddy核心功能与实操模式
WorkBuddy核心功能与实操模式

深入探索WorkBuddy的强大功能。本专题包含智能问答、文档处理、会议纪要生成、日程管理、任务协作等核心模块的操作指南与最佳实践。通过图文并茂的教程,助您快速上手,最大化发挥WorkBuddy的办公效能。

642

2026.04.09

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

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

877

2026.06.05

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

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

265

2026.06.05

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

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

256

2026.06.05

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

60

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

40

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

120

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

140

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

120

2026.10.22

热门下载

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

精品课程

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

共0课时 | 156人学习

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

共0课时 | 156人学习

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

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn