[onedrive via Graph HTTP] why binary don't upload if not exactly previous node?

Describe the problem/error/question

that very frustrating, i have file on airtable that i want to transfer to my sharepoint (nothing exotic here).

So i have a trigger from airtable, i download all thing at the first trigger.

But when i get to the HTTP request part, impossible to upload the binary.

I can get the base64 through : “{{ $(‘Airtable Trigger1’).item.binary[“CNI_0”].data }}”, i have tried everything to upload file… nothing work.

I finally remember a forum thread from 3-4 years ago that mention to put binary exactly on the previous node.

And… it worked.

but why?

why could i not just get the binary from 3-4 nodes ?
Especially because those binary show in the interface, i can get their data, but impossible to upload…

What is the error message (if any)?

Please share your workflow

i finally end up with this :

work around works but why should we do work around ? :sweat_smile: and i lost a lot of time finding this…

am i doing something wrong?

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version: latest
  • Database (default: SQLite): SQL Lite
  • n8n EXECUTIONS_PROCESS setting (default: own, main): own
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • Operating system: Ubuntu

Hey @Zepek , you are not doing anything wrong and your conclusions are valid. Indeed, the binary file has to be present in the previous node referencing it in the node not immediately preceding the current node where it is needed will not work.

Below is a simple demo showing how binaries could be handled and accessed from the previous nodes. Simply put,

  1. You can pass over binaries from node to node where possible
  2. You can use node like Merge to bring the binary back into the workflow by means of merging the data of the current node and the previous node that has the binary
  3. Use expression to get the text representation of binary and convert it back to binary file

Hopefully these solutions give you some room for maneuver.

2 Likes

oh ! that nice to know !

thanks for the tips!

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