通过自定义代码对多个二进制文件进行 Base64 编码 - n8n 工作流

了解如何使用自定义的 JavaScript n8n 节点来处理并将 ZIP 压缩包中的多个二进制文件转换为 Base64 字符串,这对于需要此特定格式的各种 API 上传至关重要。这个 n8n 工作流模板解决了复杂的文件批量处理问题。

工作流预览

准备好自动化了吗?

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

适用人群

需要将多个文件上传到严格要求 Base64 编码的 API 的开发者。
需要超越标准 n8n 节点进行高级二进制文件操作的 n8n 用户。
正在寻找用于文件转换任务的健壮 n8n 模板的自动化专家。
任何有兴趣利用 n8n 代码节点进行数据处理的人员。

概览

这个专用的 n8n 工作流模板解决了常见的集成难题:处理包含多个二进制文件的压缩包,并将它们转换为 Base64 字符串以供 API 调用。虽然标准的 n8n 节点能很好地处理单文件 Base64 编码,但批量处理需要自定义逻辑。这个 n8n 工作流通过结合文件下载、解压以及一个精心设计的运行 JavaScript 的 n8n 节点,来迭代已提取的二进制文件并执行必要的编码,从而提供了一个稳健的解决方案。如果你经常处理压缩数据并需要高效地转换内容,这个 n8n 模板是你的工具箱中的必备品。

工作原理

整个过程由一个简单的手动 n8n 触发器启动,便于测试和部署。


  1. 开始: “点击‘执行工作流’” n8n 触发器启动自动化运行。

  2. 下载: 一个 HTTP 请求 n8n 节点下载包含待处理文件的示例 ZIP 文件。

  3. 解压: 随后的压缩(解压)n8n 节点会自动处理下载的二进制文件,展开内容,并为 ZIP 内找到的每个文件输出一个单独的项目,每个项目都有自己的二进制属性。

  4. 编码(自定义代码): 核心功能位于“编码为 base64”代码 n8n 节点中。该节点使用自定义 JavaScript 迭代由解压 n8n 节点创建的多个二进制项。对于每一项,它使用内置的 this.helpers.getBinaryDataBuffer 函数安全地将文件数据检索为缓冲区。然后将此缓冲区转换为 Base64 字符串,并将输出整齐地构建,以供后续的 n8n 节点使用,提供文件路径和编码后的数据。

安装指南

要开始使用这个强大的 n8n 工作流模板,请遵循以下步骤:


  1. 导入: 复制提供的 JSON 数据并导航到您的 n8n 实例。

  2. 点击“新建”,然后点击“从 JSON 导入”并粘贴代码。

  3. 无需凭证: 此特定的 n8n 工作流不需要外部凭证,因为它使用了公共 URL 和内部 n8n 节点(HTTP 请求、代码、手动触发器)。

  4. 执行: 点击“执行工作流” n8n 触发器按钮立即测试该过程。

  5. 自定义: 修改“下载 n8n 演示网站 zip” n8n 节点,将其指向您的特定 ZIP 文件源 URL,以根据您的需求调整 n8n 工作流。如果您的目标 API 需要不同的输出结构,请相应地调整代码 n8n 节点内的 JavaScript。

节点详情

此 n8n 工作流依赖于三个主要的 n8n 节点来实现文件处理和转换:

点击‘执行工作流’ (手动触发器 n8n 触发器)
功能:作为此按需 n8n 工作流的起点。
关键配置:无需配置;它仅用作一个简单的手动 n8n 触发器。

下载 n8n 演示网站 zip (HTTP 请求 n8n 节点)
功能:从远程 GitHub 仓库下载源 ZIP 文件。这提供了处理所需的二进制数据。
关键配置:URL 设置为 https://github.com/n8n-io/n8n-demo-website/archive/refs/heads/main.zip。响应格式至关重要,设置为 file 以将数据作为二进制文件处理。

解压 (压缩 n8n 节点)
功能:解压缩下载的 ZIP 文件。这很关键,因为它将一个输入项(ZIP)转换为多个输出项(ZIP 内的文件),为下一个 n8n 节点的批量处理做好准备。
关键配置:使用解压缩的默认设置。

编码为 base64 (代码 n8n 节点)
功能:迭代由解压 n8n 节点生成的所有二进制文件。它使用自定义 JavaScript 和 n8n 助手函数(this.helpers.getBinaryDataBuffer)来检索每个文件的原始缓冲区,然后将该缓冲区转换为 Base64 字符串,并将结果汇总成结构化的 JSON 数组。
关键配置:包含 Base64 编码的自定义逻辑,确保在 n8n 工作流中的单个步骤内高效处理多个二进制文件。

相关 n8n 工作流

免费

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

精选*