← Back to blog

n8n binary data: download, preserve, upload and verify a file

Practise an n8n binary data round trip with Dropbox: download a sample, preserve it through Edit Fields, upload it and verify its contents.

A protected document travels to a matching copy for verification in an n8n binary data workflow.

Checked against the cited sources on .

Prepare a harmless Dropbox sample

This tutorial passes n8n binary data through four nodes: HTTP Request download, Edit Fields, HTTP Request upload and HTTP Request verification download. The goal is to retrieve the uploaded document and compare its contents with the original. Use a running n8n workspace, a Dropbox account and an existing harmless text file; these are prerequisites for our suggested exercise.

In Dropbox's app setup, create a Scoped access app with App folder access. Enable files.content.read and files.content.write, submit the permission changes and generate a short-lived test token. Dropbox recommends OAuth for production applications; implementing it is outside this tutorial.

Our example assumes the sample is already accessible to that app at /sample.txt. Reserve /sample-copy.txt as a separate destination. This is a documentation-based walkthrough, not a report of firsthand testing. The official n8n documentation used for these instructions does not specify an n8n version or plan.

Sources: Quick Start, Download, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/README.md at main · n8n-io/n8n-docs · GitHub, Edit Fields (Set) | Nodes | n8n Docs, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.set.md at main · n8n-io/n8n-docs · GitHub, HTTP Request | Nodes | n8n Docs

1. Download n8n binary data into document

Add an HTTP Request node. For both Dropbox operations in this tutorial, use HTTPS with host content.dropboxapi.com and the endpoint path specified below. Configure the download in this order.

  1. Set Method to POST and the endpoint path to /2/files/download.
  2. Add an Authorization header whose value is Bearer followed by a space and your test token.
  3. Add the Dropbox-API-Arg header with value {"path":"/sample.txt"}.
  4. Set Response Format to File and Put Output in Field to document.
  5. Execute the node and inspect its binary output before continuing.

The expected output is a file under the binary property document. This property is separate from JSON fields and from the filename sample.txt. File response mode alone does not establish that the response contains your intended document.

Sources: Download, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/README.md at main · n8n-io/n8n-docs · GitHub, skills/skills/n8n-binary-and-data-official/references/BINARY_BASICS.md at main · n8n-io/skills · GitHub

2. Preserve n8n binary data from the previous node

A hand changes a blue paper slip between two trays while a folded document in a pink sleeve passes between them.
Separate paper objects illustrate editing JSON metadata while preserving the binary file.

Connect Edit Fields to the download node. Use Manual Mapping to add the suggested JSON field exerciseLabel with the value dropbox-round-trip. Enable Include Binary Data so the incoming file appears in the output, then execute the node and check that document is still present.

For n8n binary data from the previous node, the downstream consumer needs the producer's binary property name: document. We think checking the file at this boundary is worth making a team habit, because it gives the next step an explicit input contract.

Sources: skills/skills/n8n-binary-and-data-official/references/BINARY_BASICS.md at main · n8n-io/skills · GitHub, Edit Fields (Set) | Nodes | n8n Docs, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.set.md at main · n8n-io/n8n-docs · GitHub

3. Upload the file and retrieve the destination

The original sample and the document retrieved from Dropbox sit side by side for content comparison.
Matching paper patterns illustrate the suggested comparison between original and retrieved contents.

Connect another HTTP Request node after Edit Fields. Dropbox's upload operation takes raw file content as its body. Follow these steps to upload n8n binary data and retrieve the destination.

  1. In the upload node, set Method to POST and the endpoint path to /2/files/upload on the same Dropbox host.
  2. Add the Authorization bearer header and set Content-Type to application/octet-stream.
  3. Set Dropbox-API-Arg to {"path":"/sample-copy.txt","mode":"add"}.
  4. Enable Send Body, select Body Content Type n8n Binary File and set Input Data Field Name to document.
  5. Execute the upload and inspect its returned file metadata.
  6. Connect a verification HTTP Request node. Repeat the download configuration, changing Dropbox-API-Arg to {"path":"/sample-copy.txt"}, with Response Format File and output field document.
  7. Execute the verification download and inspect the retrieved document's actual contents.

Our suggested success check is to compare the retrieved text with the original sample, including punctuation and line breaks. Inspect the upload metadata for the destination too, but do not treat an upload acknowledgement as proof of content equality. In our view, the round trip is complete only when the retrieved content has been checked.

Sources: Quick Start, Download, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/README.md at main · n8n-io/n8n-docs · GitHub, HTTP Request | Nodes | n8n Docs

4. Troubleshoot the file handoff

If the round trip fails, follow this suggested diagnostic sequence to locate where the file first disappears or where the request differs from the required configuration. The final row applies when adapting the exercise to another receiver.

Suggested diagnostic sequence for a failed file handoff
CheckpointInspectNext action
1. Download outputIs document present before Edit Fields?If absent, revisit the download settings in step 1.
2. Edit Fields outputDoes document disappear between input and output?If so, revisit the preservation setting in step 2.
3. Upload requestWith document present, where does the request differ?Compare the input property, body format and headers with step 3.
Different receiver requires multipartReceiver's form-field nameUse Form-Data with an n8n Binary File parameter and matching input property.

Sources: Quick Start, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/README.md at main · n8n-io/n8n-docs · GitHub, skills/skills/n8n-binary-and-data-official/references/BINARY_BASICS.md at main · n8n-io/skills · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.set.md at main · n8n-io/n8n-docs · GitHub, HTTP Request | Nodes | n8n Docs, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/common-issues.md at main · n8n-io/n8n-docs · GitHub

5. Define controls before using company documents

Before replacing the sample with company documents, agree on the following editorial readiness checklist. These are suggested decisions; this tutorial does not implement automatic enforcement or deployment-specific retention.

For self-hosted n8n, the official scaling documentation says binary data is held in memory by default and large files can cause crashes. It recommends N8N_DEFAULT_BINARY_DATA_MODE=filesystem outside queue mode and database for queue mode; filesystem mode is unsupported with queue mode. This deployment guidance is not a universal safe file-size threshold or a Cloud configuration step.

Sources: n8n-docs/docs/deploy/host-n8n/configure-n8n/scaling/handle-binary-data.md at main · n8n-io/n8n-docs · GitHub

Put this into practice

Hands-on n8n challenges

Pick a challenge and build a working workflow in your own n8n environment, with five progressive tips per challenge.

Try a hands-on challenge

For your team

Custom n8n training programs for one team or department, run on your own n8n instance with your own tools and data.

Training for your team

n8n skills assessment

A free quiz of about 20 minutes: 30 questions in 10 skill areas and a level from Beginner to Expert. On AI Adoption Score, another project by the author of this site.

Get your n8n level