To updload a file directly to S3 without relying on storing data on a server in between. Why? Lets say you're having your users upload 50mb files, it's wasteful and takes up server resources to have your backend sit around and store the file only to have to send it off to S3 anway. Also if your server may go down or restart while the upload is taking place, this can happen regardless of the file size. If this happens the upload is incomplete. If the file goes directly to S3, we don't have to worry about our server availability.
- s3upload.js
No Ruby required, same lib used in Node.js article (https://devcenter.heroku.com/articles/s3-upload-node#setting-up-the-client-side-code)
https://github.com/tadruj/s3upload-coffee-javascript
- Pre-signed post
Cannot handle multi-part upload (aws/aws-sdk-ruby#197) ?
- s3_file_field
Handles multiple files, Ruby integration. Low active users ~4k active downloads.
- s3_direct_upload
No multiple file support? Ruby integration. High active users ~35k.