tfwright
File upload/attachment/storage lib
Any recommendations for handling file attachment and storage in Elixir/Phoenix? Arc looks like the OG lib but hasn’t had much activity for almost 2 years. Waffle looks like a well marketed fork that claims the original is no longer “supported”, but I don’t see any notice to that effect.
Are folks mostly using one of those two? Rolling your own?
Most Liked
benwilson512
It will go just fine. To quote the AWS documentation:
The current version of the Amazon S3 API is 2006-03-01.
The API hasn’t had a backwards incompatible change in 14 years, at least according to its docs. ExAws deprecation is more about forward compatibility with new AWS services and less about backward compatibility with existing ones.
Matsa59
Write your code without create any coupling with your storage system. So if you want to change to another lib, you will not change any of your business stuff. In that way, you’ll be ok to use ExAws even if you think it will be deprecated.
But as said @benwilson512 aws api doesn’t break backward compatibilty. You should be ok for the next decade (or something like that).
tfwright
I ended up rolling my own, and I decided to put it in its own lib. I’m not sure if I’ll expand it enough to merit releasing a package, but if anyone’s interested the source is on Github:
https://github.com/tfwright/capsule
It takes a lot of inspiration from Ruby’s Shrine, but with the spirit (patterns) of Elixir. It only handles url → local storage right now. I’ll at least be adding binary, and Plug.Upload support, probably Ecto support.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #javascript
- #code-sync
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








