Help

Upcoming database upgrades. Airtable functionality will be reduced for ~15 minutes at 06:00 UTC on Feb. 4 / 10:00 pm PT on Feb. 3. Learn more here

Re: Mass download attachments?

592 0
cancel
Showing results for 
Search instead for 
Did you mean: 

I have a records with attachments that I have filtered down to just what I want to download. Is there a way to download all the attachments of the filtered records? Or do I have to walk through each record downloading each individually?

12 Replies 12

Just through the airtable website, no I don’t think there’s any mass download option.

If you are going to do it often, or if you have a huge number of downloads, you can write a script using the airtable API. The API lets you specify a particular view to list, and contains attachment URLs that you can fetch from your script

For those who are not technical, we built a tool that allows anyone to Bulk Download Attachments from Airtable instead of downloading each record individually. You can also limit it to only export attachments from a specific Airtable view.

Screen Shot 2020-01-10 at 1.38.13 AM

Please just integrate a function to allow bulk downloading… it’s been YEARS without any such function. Second-rate.

^ bump. this would be really great and save tons of time.

This should be a priority in Airtable roadmap…

Yes this would be really helpful in my current project

Hi,

insert new field with formula (set your field name)

IF({Attachments},
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
'curl -o "' &{Attachments},
'(https:','" https:'
),')',''),
',',' & curl -o "')
)

copy whole column. paste it to cmd window
may be a bit bugged if filename contains round brackets or comma

Here’s a cleaner formula.
(limitation: it only gets the first attachment).

IF(
  {Attachment},
  'curl -o "' &
  SUBSTITUTE(
    SUBSTITUTE(
      REGEX_REPLACE(
        SUBSTITUTE({Attachment}, '"', ''),
        '(.*?) \\(https(.*?)\\)',
        '$1" "https$2"'
      ),
      '(',
      ''
    ),
    ')',
    ''
  )
)

Copy then the content of the formula column, paste it on a file batch_dl.sh and then run it sh ./batch_dl.sh.

You can do this with our On2Air Backups extension. It exports all table data and attachments to Google Drive, Dropbox, or Box.

Hi Alexey,

Thanks for this, however is there anyway to output the filename to include another field? For example if multiple attachments are all called image.jpg it will only download one copy.

Can you add another {field} so the filename outputs differently? For example I have a Service_ID field that is an autonumber. So my ideal output would be “230 - image.jpg” 245 - image.jpg" “734 - image.jpg” for instance.

Thank you very much.

Hi
insert &{field}&' - '
after each curl -o "'

should be

IF({Attachments},
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
'curl -o "'&{field}&' - ' &{Attachments},
'(https:','" https:'
),')',''),
',',' & curl -o "'&{field}&' - ')
)

watch for commas/quotes in {field} value. I’ve tested it - okay, but when I have "Done,Rejected,Pending" - it works wrong. Too busy now to debug and correct.

Perfect, thanks! I couldn’t get the correct combo of '&{