Convert binary data to file

I want to use logo.dev to get logos for companies. It operates as a custom URL and sends binary data for the logo back to Make.

Is there a way to convert that data to an image that I can then put into Airtable?

Thanks
Mike

Hey @mdb213,

I believe that Data is already in “File” format so it ready to be uploaded as-is in a module that asks for a file, like Dropbox or Google Drive.

Once you have a publicly-accessible URL to the file then use that as the source for uploading to Airtable since Airtable modules don’t take files directly.

Thanks for taking the time to answer. It doesn’t appear to be and it also doesn’t appear to be Base64 either.

Logo.dev is a handy little tool that grabs a logo from a given website so for example:

I used the HTTP module and it returns the data block ok but then try and use it Airtable and get the error

Ultimately like to go through a table I have and grab as many logos as possible

Mike

Hello @mdb213,
Airtable supports 2 different things for uploading files.

Upload a File Directly

Now airtable also supports uploading a file as per their API updates in July 2024. See the changes here Changes 2024-07-31
Only the specific instructions are

  • Upload an attachment up to 5 MB to an attachment cell via the file bytes directly.
  • In the file parameter required string, The base64 encoded string of the file to be uploaded.

You can read more about these things here Upload attachment

Note: An important thing I’ve noticed is that this specifically works while we update airtable records. You’ll see the {recordId} in the URL.

{recordId} is there if the record is already created.

Upload file Via URL

As @Donald_Mitchell suggests, if direct public URLs are available, use them as attachment input.

I hope this helps you.


:bulb:P.S.: Always search first, Check Make Academy. If this is helpful, mark it as a solution :white_check_mark: and :+1:
Need expert help or have questions? Contact or comment below! :point_down:

1 Like

Thanks for taking the time

So are you saying not to use the Update for Airtable and just use an API Call?

The return from the URL is not Base64 but there is a set URL

@mdb213, you’d basically go straight from HTTP Make a Request → HTTP Make a API Key Auth Request.

Normally you would use Airtable Make an API Call but this won’t work because that module says it works with the api.airtable.com domain, while Upload Attachments calls for the content.airtable.com domain.

For this reason you need to use Make an API Key Auth Request, set up a new connection to Airtable using your PAT (easiest method) or OAuth (check the Upload attachment API page that @dilipborad mentioned for details on scopes needed).

In summary you’ve got at least a couple of options:

  1. HTTP Make a Request → Upload to file share service, get public URL → Airtable Update a Record (uses more Ops and more data, easier to set up)
  2. HTTP Make a Request → HTTP Make an API Key Auth Request (uses 1 less op and less data, but slightly more difficult to set up)
1 Like

That makes sense. Thank you will try it first thing in the morning

1 Like