使用代码节点实现二进制数据恢复模式 - n8n 工作流

学习如何在 n8n 工作流中恢复被中间节点丢弃的二进制数据。这个 n8n 模板使用了一种强大的自定义 n8n 代码节点模式来实现文件持久化。

工作流预览

准备好自动化了吗?

下载此 n8n 工作流模板并立即开始使用。

适用人群

需要跨多个步骤处理二进制文件(如图片、PDF)的高阶 n8n 用户。
在文件完整性至关重要的复杂 n8n 模板的开发者。
旨在精通 n8n 代码节点进行内部数据操作的用户。
任何需要在长时间运行的 n8n 工作流中实现可靠数据持久化的用户。

概览

许多标准的 n8n 节点,比如这里演示的 Set n8n 节点,通常不会自动将二进制数据转发到后续步骤。在构建文件处理流水线时,这种“数据丢失”是一个常见障碍。此 n8n 工作流通过定义自定义恢复模式,提供了一个稳健的技术解决方案。利用 n8n 代码节点和内部的 $() 辅助函数,n8n 工作流可以回溯到任何指定的先前 n8n 节点(甚至回溯好几步),并检索原始的二进制数据包。这项技术确保了数据完整性,对于处理涉及复杂文件转换的 n8n 高级模板的任何人来说,这是一个关键的模式。

工作原理

此 n8n 工作流从 Start n8n 触发器开始,启动整个流程。首先,名为 'Get n8n Logo (Binary)' 的 HTTP Request n8n 节点会获取一个图像文件,在当前数据项上下文中创建二进制数据。接着执行后续的 'Remove Binary Data' Set n8n 节点。由于 Set n8n 节点默认不保留二进制数据,文件附件会丢失,这模拟了复杂 n8n 工作流中常见的中断点。

此 n8n 工作流的核心是名为 'Re-Access Binary Data from Previous Node' 的 Code n8n 节点。这个自定义 n8n 节点执行 JavaScript 代码,它绕过了前一个节点的输出,而是使用 $(nodeName).item 访问器直接访问 'Get n8n Logo (Binary)' n8n 节点的输出项。然后脚本遍历检索到的二进制文件数据,使用 Buffer.from() 进行解码,并利用关键的 n8n 辅助函数,this.helpers.prepareBinaryData(),将恢复的二进制对象正确地重新附加到当前数据项的执行上下文中,从而为流程中后续的 n8n 节点恢复数据通路。

安装指南


  1. 导入: 复制提供的 n8n 工作流 JSON 代码,并使用 n8n 实例中的“新建” -> “从 JSON 导入”选项将其粘贴进去。

  2. 凭据: 此特定的 n8n 工作流不需要任何凭据,因为它使用了 n8n 核心节点和公共 URL 进行演示。

  3. 自定义: 如果您要修改此 n8n 模板以处理您自己的文件,请确保更新 'Re-Access Binary Data from Previous Node' 代码 n8n 节点内的 previousNodeName 变量,使其与最初生成您希望恢复的二进制数据的 n8n 节点名称相匹配。

  4. 执行: 点击“运行工作流”按钮来测试 n8n 工作流,并观察二进制数据在被中间的 Set n8n 节点有意丢弃后是如何被恢复的。

节点详情

Start (n8n 触发器): 手动触发器,用于方便地启动此特定的 n8n 工作流以进行测试和演示。
Get n8n Logo (Binary) (HTTP 请求): 从指定的 URL 获取 n8n 标志图片,创建稍后将在 n8n 工作流中被恢复的二进制数据。
Remove Binary Data (Set/设置): 此 n8n 节点配置为添加一个简单的文本字段('test value'),但故意丢弃二进制数据,模拟二进制文件不会自动通过中间 n8n 节点的场景。
Re-Access Binary Data from Previous Node (代码): 核心自定义 n8n 节点。它包含一段 JavaScript 脚本,专门针对 'Get n8n Logo (Binary)' 节点的输出来检索原始二进制对象,解码 Base64 数据,并使用 this.helpers.prepareBinaryData 将文件重新整合回当前的数据流中。硬编码的 previousNodeName 变量决定了访问哪个先前 n8n 节点的输出。

相关 n8n 工作流

免费

节点: 5 节点
更新时间: 2025年12月26日
创建者

Innovative builder with a passion for crafting automation solutions that solve real-world challenges. From streamlining workflows to driving efficiency, my work empowers teams and individuals to achieve more with less effort. Experienced in developing scalable tools and strategies that deliver results with n8n, supabase and cline. Get your Free n8n PDF Audit:

精选*