DIY File Uploading

Hamilton, Bermuda

Last issue was about services which combined uploading with file storage and delivery (although none provided much of that for free). This week we look at tools that provide the nice client experience, but require you to provide you own server and storage.

Integrating these tools will obviously take a bit more work that one of the dedicated services, but if you expect to grow beyond the free tiers, the ability to use your own cheaper storage will certainly help. Plus sometimes wiring up these tools can be half of the challenge and therefore half of the fun.

Uppy logo or screenshot


Uppy is an open source file uploader created by the folks at Transloadit, an image processing and conversion service. However, it can be used on its own to upload files wherever you need them to go. They provide a Companion app which can be integrated with an existing Express app (Node.js) or run as a standalone service. It is through this app that integration with Dropbox and other cloud services is provided.

Uppload logo or screenshot


Uppload is the new kid on the block, created out of frustration dealing with the types of services discussed last issue. While it looks like it has a lot of features, it also looks a bit like a work in progress. It has preset integration with AWS S3 and Firebase. Or you can upload to any server or serverless function.

Dropzone.js logo or screenshot


Dropzone has been around for a while, and there are a lot of tutorials around about integrating it with various web stacks. It doesn’t provide all of the latest cloud integrations, but it does a nice job of allowing you to upload local files. It allows for fairly extensive customization and does perform image resizing, but I’m not sure it offers a cropping UI.