How to Pass n8n Binary data file between nodes

I’m trying to pass Binary property between nodes
for example, look at this simple workflow

HTTP Download has this option

So the Binary Property saved in “data”
but when i set a next node anything like another HTTP request as this example to get Auth token and then pass the token code to the next HTTP Request to upload the binary data file

i get an error that “No binary data exists on item!”

also, i tried the telegram node to send a document that uses the same binary data file, the thing is, the binary data is not being passed through nodes

so if i tried to put an expression :

{{ $('HTTP Download').item.binary }}
{{ $('HTTP Download') }}

but they didn’t work

So how to pass the binary data property? because sometimes in other situations i need to go back in couple nodes to reterive it and i can’t !

is that possible ?

Information on your n8n setup

  • n8n version: 1.6.1
  • Database (default: SQLite): PostgreSQL
  • n8n EXECUTIONS_PROCESS setting (default: own, main): Default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • Operating system: Ubuntu 22

You can bring the binary data in again with a Merge-Node.

Hello @jan
Thanks for your reply
it was a good idea to use Merge Node
let me tell you about the workflow i’m trying to accomplish

simply the workflow should take a photo and MP3 URL sent to telegram bot and upload it into a website with the photo as track photo

so here’s the steps
A telegram Trigger
and it expects to get a photo and a caption from it, and the caption is a URL
then it gives the URL to HTTP node to download it
and then HTTP request to the upload site to get Auth code and another HTTP request that should take the mp3 file downloaded + photo from telegram + auth token together to upload the track with it’s photo cover

with the merge node i’ve merged the HTTP Request that downloads the URL and HTTP for AUTH and sent it to the HTTP for upload, but how to get the photo !!!

i’ve done it with a workaround with HTTP request that download the photo using file_path from telegram File → Get node

so here’s what I’ve accomplished

and it WORKS !!

So, what do you think ? is it possible to get the same workflow work with fewer nodes or better workflow?

also i need to know how to bring binary data using merge-node if the node that have the binary data is not possible to be before the merge node ?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.