Help

Re: Bulk Download of photos from an AirTable?

1977 0
cancel
Showing results for 
Search instead for 
Did you mean: 
David_Laufer
6 - Interface Innovator
6 - Interface Innovator

Is there a way to do a mass download of photos from my airtable? The Bulk Upload worked well, now I need to do the reverse! Thanks, All

40 Replies 40

LOL - And he didn’t use any code despite the fact that only he and only three other people on the planet can read it! That’s both the beauty and the irony of his bulk download approach.

@ScottWorld you need to retract the FYI and buy this clever dude a sandwich.

Lol, it still didn’t work!

Screen Shot 2021-03-23 at 5.28.47 PM

I think you have some bad characters in the command line.

wget </users is not right

That’s the full path to my file. It’s the same path that made step #1 work properly.

I really don’t care. I was just seeing how far I could get in those directions.

I’ve never seen a path in Linux that begins with “<”.

I just copied & pasted what the other guy wrote above. He has the “<” in his message above.

Anyways, I’m unsubscribing from this thread now. This is so unimportant, and I have REAL Airtable work to do. :winking_face:

I think there’s supposed to be a space after each “<”. His example doesn’t include one before the filename, but I think that’s a typo. Try:

xargs < wget < [insert path here]

That doesn’t solve the “No such file or directory” issue, though.

This is why I think that most people’s idea of what is and isn’t “code” is too narrow.

Sorry about that, I’m not here often, and I didn’t realize this was a no-code community. Or perhaps the degree to which it is.

I’ve mostly been browsing in the Airtable automations/scripting area of this community, where most people seem to have a JS background.

Sorry about that. I didn’t realize this was a no-code area.
I’m sure it’s moot now, but I had a typo. It should be xargs wget < sources.txt.

In your case, xargs wget < ~/Desktop/sources.txt

You’d also need wget if you don’t have it. I forget if it’s native on MacOS (brew install wget).

Anyway, apologies again for the confusion and technical approach.

In my case I didn’t know that code is avoided here (I’ll go so far as to say, seemingly kind of taboo) at all. I found this thread through a search, and I had been to the Airtable Automations category before, where Airtable scripts seem to be openly discussed.

I do consider a couple of shell commands to be on the low-code side personally, but of course experiences vary.

Oh, thank you very much for sharing your experiences, and for coming back and posting the correction. I’m sorry you did not feel welcome, and I hope that you will stick around.

Many Airtable users are no-code users, but certainly not all. In fact there are several people on these forums who enjoy code. Also, to be fair, the idea of your approach being “no code” was introduced by a different poster.

My comment was mostly to point out that the distinction between “code” and “no code” sometimes is an artificial one, depending on the point of view. The poster who called your shell commands “no code” is a highly experienced coder who writes code in text format, so two shell commands are not code to him. On the other hand, the poster who compared you shell commands to Unix considers himself a no-code user, even though he actually does write code, just not text based code.

Hard distinctions between code and no-code exist because no-coders are often afraid of code. However, the reality is that there is a huge gray area between code and no-code, and solutions like yours can help bridge the gap.

I think the emotions in this thread stem from the fact that the tone of your initial post says that you solution was quick and easy, but it was not quick and easy for the non-coder who tried it.

wget is not natively available in MacOS terminal, this command however is:

xargs -n 1 curl -O < sources.txt

This is brilliant and so helpful. The problem some fellow Mac users were experiencing is that wget is not installed by default on MacOS.

It will NOT work for multiple attachments in field.
With Copy column you get only first attachment url in every row.

regards

Thanks, i like to see any solution without constraints. Thanks for your ideas and time for sharing.

This is awesome, thank you. Indeed it should be xargs wget < sources.txt and if wget is not available on the mac a simple brew install wget works as you mentioned.
Maybe for it can also be helpful to remind ppl to save it as .txt and not as .rtf as it might add some extra formatting text on the file which will cause the download to fail.

It does not work because the sed is not accounting for the multiple links in one cell separated by a comma. Therefore it only gets the last link inside the parentheses.
In order to correct that I would first run sed to replace all commas with new lines like this:

sed -i "" 's/,/\'$'\n''/g' sources.txt

And then run the sed to get all the links inside parentheses like Orun has done:

sed -i "" "s/.*(\(.*\))/\1/" sources.txt

And then you can run the download command:

xargs wget < sources.txt

This should work to download all the files in the same cell.

The On2Air Backups can backup all your Airtable data, including attachments, to Google Drive, Dropbox, or Box

You can also check out The Essential Guide to Backups in Airtable

______________________________________
Hannah - On2Air.com - Automated Backups for Airtable

This is awesome, but many of the "sources" URLs don't contain the original filename. The CSV has the original name next to the URL, any suggestions on automating wget -O to force original name?