Wondering if anyone has good recommendations for associating file storage with Ecto models?
We’re working on a document conversion service that accepts either uploaded documents or remote URLs. Documents are downloaded into local S3-compatible storage and converted.
I’ve been trying to use Arc, which almost does what I need, but am running into some issues. The most recent is this one, where we’re told not to
cast the field containing the attachment, but the field doesn’t reach my
Repo.update call at all unless I do. This works for folks in Ecto 3.1, but I’m using 3.2, and am wondering if something has changed.
I’m also looking at Belt, but am also considering just rolling my own. Essentially, we’re only storing files in S3-compatible storage. Conversions are handled by our own service. I don’t know if there’s some amazing file storage library Google just isn’t showing me, or if these don’t add much beyond what I can assemble on my own. I do like Arc’s extension whitelisting features, as well as how it transparently handles downloading remote URLs or handling files. Something similar for Belt might work, as it doesn’t appear to fetch files remotely.
And any thoughts on the previously-linked arc_ecto issue would be great. If I can stick with it then I’d like to, but I’m not sure what I’m missing. Thanks for any help.