Skip to main content

Mass download attachments?

  • October 11, 2018
  • 17 replies
  • 862 views

Forum|alt.badge.img+2

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?

17 replies

Forum|alt.badge.img+14
  • Inspiring
  • 38 replies
  • October 11, 2018

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


Forum|alt.badge.img+15
  • Inspiring
  • 368 replies
  • January 9, 2020

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.


Forum|alt.badge.img+3
  • New Participant
  • 1 reply
  • March 25, 2020

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.


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


  • New Participant
  • 1 reply
  • March 11, 2022

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.


Forum|alt.badge.img+11
  • Known Participant
  • 15 replies
  • June 22, 2022

This should be a priority in Airtable roadmap…


  • New Participant
  • 2 replies
  • July 20, 2022

Yes this would be really helpful in my current project


Alexey_Gusev
Forum|alt.badge.img+25
  • Brainy
  • 1261 replies
  • July 21, 2022

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


  • New Participant
  • 1 reply
  • July 27, 2022

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.


Hannah_Wiginton
Forum|alt.badge.img+19

Yes this would be really helpful in my current project


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


Forum|alt.badge.img+3
  • Participating Frequently
  • 6 replies
  • October 20, 2022

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


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.


Alexey_Gusev
Forum|alt.badge.img+25
  • Brainy
  • 1261 replies
  • October 24, 2022

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.


Forum|alt.badge.img+3
  • Participating Frequently
  • 6 replies
  • October 25, 2022

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 '&{


Forum|alt.badge.img+4
  • New Participant
  • 2 replies
  • February 18, 2023

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.


yes, at ~$1 per record, correct?


Forum|alt.badge.img+1

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


An entry requested urgently to include a function to mass download attachments was created in 2020, and there is no implementation.   That development should have been created BEFORE setting an expiration date to URLs to attachments.  This is not the right way AirTable.


Forum|alt.badge.img+3
  • Participating Frequently
  • 6 replies
  • May 25, 2023

Jumping in for anyone who finds this thread in the future - I have created a (paid) Airtable extension that allows you to download multiple attachments, it has two modes "remote download" and "local script", you can read more about the differences in this blog post I wrote.

Hope this would save someone many hours of manually downloading 🙂


ng010105
Forum|alt.badge.img+7
  • Participating Frequently
  • 12 replies
  • July 3, 2023

Jumping in for anyone who finds this thread in the future -

I have created a (Free) python script that allows you to download your attachments,

you can read the code I wrote on github https://github.com/garygng/Airtable_python.


ng010105
Forum|alt.badge.img+7
  • Participating Frequently
  • 12 replies
  • July 3, 2023

An entry requested urgently to include a function to mass download attachments was created in 2020, and there is no implementation.   That development should have been created BEFORE setting an expiration date to URLs to attachments.  This is not the right way AirTable.


Jumping in for anyone who finds this thread in the future -

I have created a (Free) python script that allows you to download your attachments,

you can read the code I wrote on github https://github.com/garygng/Airtable_python.