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.

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.
- Set Method to POST and the endpoint path to /2/files/download.
- Add an Authorization header whose value is Bearer followed by a space and your test token.
- Add the Dropbox-API-Arg header with value {"path":"/sample.txt"}.
- Set Response Format to File and Put Output in Field to document.
- 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

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

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.
- In the upload node, set Method to POST and the endpoint path to /2/files/upload on the same Dropbox host.
- Add the Authorization bearer header and set Content-Type to application/octet-stream.
- Set Dropbox-API-Arg to {"path":"/sample-copy.txt","mode":"add"}.
- Enable Send Body, select Body Content Type n8n Binary File and set Input Data Field Name to document.
- Execute the upload and inspect its returned file metadata.
- 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.
- 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.
| Checkpoint | Inspect | Next action |
|---|---|---|
| 1. Download output | Is document present before Edit Fields? | If absent, revisit the download settings in step 1. |
| 2. Edit Fields output | Does document disappear between input and output? | If so, revisit the preservation setting in step 2. |
| 3. Upload request | With document present, where does the request differ? | Compare the input property, body format and headers with step 3. |
| Different receiver requires multipart | Receiver's form-field name | Use 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.


