Base64 data and using the Comrpress Node

Hi all,
I have a situation where a json file contains a base64 encoded string which is actually a gzip file of another large json payload. I have been able to manually convert the base64 to a .gz, extract it and successfully view the json.

In my workflow, I am attempting to do the same but seem to be hitting a dead end but cannot determine what the issue is.

My process is as follows:

  1. Move Binary Data Node - specify the source key and the destination key, specify JSON to binary, and set the mime type to application/zip. I’ve also set the Use Raw Data to true
  2. Compression Node - Select Decompress, set the name of the binary property and leave the output prefix as the default file_
  3. Move Binary Data Node - select binary to json, and set the JSON parse property to true

I seem to be running into issues after node 2 - i cannot see any additional binary items but I am not receiving any errors either. After step 1, I can see a binary item but am unable to view it or download it to confirm that it was successful.

We are using 0.160.0. Any tips or ideas on why this is not working would be appreciated

Hey @IbnJubayr, I am sorry to hear you’re having trouble here. Could you share an example workflow using which this can be reproduced? Ideally a workflow with some hardcoded dummy data in it so this can be tested out of the box?

2 Likes

Hello Muted Jam,
You are doing an amazing job with N8N !!
I would like to know, for self hosted n8n (like on heroku, nocode deployment method) how to store data/files (it´s for decoding a base64 to mp3 format) so I can get the url link.mp3 of the generated file (its ok if its temporary like 24h) so I can use the link in json response or/and send the file to external storage service

Hi @Amine_Hamdouni, welcome to the community!

Are you looking for a place to host files so they are available to external services? n8n doesn’t have such a feature built in, but you could for example upload your files to an FTP server or cloud service such as Google Drive and then fetch them again when needed.

1 Like

Thank for response, in fact I want to run a nodejs function that has to store the output somewhere in local storage temporarily… then send it to other place.

You mean just for the duration of your workflow execution? n8n would handle this for you (and simply pass on binary items from node to node), so you wouldn’t need to worry about that.

1 Like