Resumable.js splits each file into smaller chunks, this way if the upload of a chunk fails, uploading is retried until the procedure completes. This allows uploads to continue even after a network failure either locally or to the server. It also allows users to pause, resume and even recover uploads without even losing state.
More and more developers nowadays are using npm to manage their front-end dependencies too because of tools like Browserify and Webpack. Unfortunately resumable.js is not published as an npm module.
The documentation is very detailed in explaining how everything works.Unfortunately it's not very cohesive which can make it confusing sometimes and hard to navigate through.
DropzoneJS does not have any dependencies on other libraries (like jQuery). This is useful for people who want to minimize the amount of data that their website has to load. Reducing loading time and bandwidth.
Easy to setup and get started
Lots of SDKs, libaries, and plug-ins
Image, document, audio and video transformations can be applied to uploaded images
Unlimited file storage
Fastly CDN partnership
Great support
Content Ingestion Network
Intelligent Ingestion
Image object recognition
OCR for documents and images
The widget is loaded via iFrame, hence pretty slow
As of March 2017, the Filepicker can now be loaded via script tag, embedded in iFrame, or invoked vua SDk.
Upload.js lets you add uploads to your site in an afternoon - even if you're on a tight deadline from the client, so don't have time to create an AWS account, setup buckets and URL pre-signing etc. You can just creat an Upload.io account, plug-in the API key, and have it all working within the hour.
Apparently uses multipart uploads under-the-hood. After checking on the network inspector this seems to be true for larger files at least. Testing it with a ~300MB video it uploads fine.
There's a free trial, and there's a "free" API key, but it only stores files temporarily -- ok for hackathons or demos, but if you want to use this in a "real" application, you'll need to pay for an account. (It's $7/mo at the time of writing.)
jQuery file upload splits large files into smaller chunks in order to increase upload speed and be able to resume quickly if one of the chunks fails to upload. This is because it only needs to re-upload the smaller chunk that failed.