I wrote a file manager so that I could upload photos and it turned out a lot better than I expected.
I ended up with this feature list:
- Public files
- Private files
- Automated, time-based credentials
- File manager application
- It only supports upload, associations, and deletions at the moment.
- In-editor uploads
- Pretty simple; I can upload files directly from my editor.
- S3 storage
- CDN URL generation
- S3 URLs aren't the same as my domain. Private and Public files aren't served from the same place. This bit of code disambiguates all of that.
- File deduplicator
- Sometimes I upload the same file multiple times and don't realize it. This bit of code just hunts for files of the same hash and instead links them using associations.
You can see the whole API here.
Now enjoy a photo of Carlos and I from when he was a kitten. Also starring my prickly pear cactus and lemon tree.