AlchemistCamp
Upload external files from URLs (automated, no front-end)
I’m looking for a good way to fetch files from URLs and upload them to an S3 bucket. I’ve seen a lot of posts here about uploads, but they’re generally focused on images uploaded by users via a form. The scenario I’m working on is an automated script fetching images from a file server and putting them onto S3.
I have a list of [img_url1, img_url2, img_url3, | _the_rest], and I want to fetch and upload all of those files to my S3 bucket. What’s a good way to go about it?
I’m using Phoenix, but AFIK, that’s probably not very relevant to this task.
Most Liked
achempion
Hey, Waffle author here.
You can do this via the Waffle library like this:
Avatar.store("http://example.com/file.png") #=> {:ok, "file.png"}
You only need to configure access for your S3 storage and create an uploader.
Please, feel free to ask if you’ll have any troubles.
LostKobrakai
I’ll essentially be using your prefered http client library to fetch the files and using your prefered aws library to push the data to S3. From there you could layer optimizations like streaming or parallelism on top if needed.
andreaseriksson
I have used Waffle for this.








