Download of s3 presigned file fails when passing to decompress node

Describe the problem/error/question

I am downloading an s3 presigned file via the http request node, and when i attempt to pass the value in the data field to the compress node to decompress it fails

What is the error message (if any)?

This operation expects the node’s input data to contain a binary file, but none was found [item 0]
Make sure that the previous node outputs a binary file

Please share your workflow

(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

This operation expects the node’s input data to contain a binary file ‘�՝[W�J����S���<ʋn<U1�ZTS���Ƌ�.)�ic3{�������� է.�@�###v���~�s���ϟ�/�������e�Omx�u_�?|���?}����e��C�%j���݇6��|_}�l>��&�|���>��t�=��ᓻ���|w��;����{���]�����|ve�nxt�/|{�׻�w�|��r|��.�>�}��n�܍�t}�Zq��+oN�wy�G��5�?}�G�윋�~���残��ˏ�?���������7���򾺊�v�pe�oC`���I�tw|�|�|�����/�z_c�6҉��J���6a�:H�M����$9H�I�*��P��Eѿ�{V�4I�(y�t�’*O�wg���G�������|�?���Gw��+‘��N���’, but none was found [item 0]

Make sure that the previous node outputs a binary file

Information on your n8n setup

  • **n8n version:1.62.3 **
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app): NPM
  • Operating system: Ubuntu 24.04.1 LTS

Hey @Greg_Kennedy,

Using {{ $json.data }} for the binary field will likely cause an issue we expect the field name to be used that contains the binary data so just entering data may do the trick if that is how the field is named after the http request node.

Hey @Jon ,

I tried the default data, when i first built the flow, and it gives the same result. It has to be something with the content encoding. I remember having a similar issue before with c# downloading an amazon s3 presigned. I added content-headers and encoding to no avail on this flow.

In a different flow im downloading a file from an api, thats direct and it works perfectly, so it has to just be something in the settings when the http request node tries to download it, it doesnt know what to do with it because its not the type its expecting which is a gzip’d csv file.

I figured it out. You have to add the response option, and then set the response type to file.

1 Like

Ah yeah that would do it, I had assumed you already had a binary object to work with.

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