Fine Uploader is a Javascript plugin written by Andrew Valums, and actively developed by Ray Nicholus. This plugin uses an XMLHttpRequest (AJAX) for uploading multiple files with a progress-bar in FF3.6+, Safari4+, Chrome and falls back to hidden-iframe-based upload in other browsers (namely IE), providing good user experience everywhere. It does not use Flash, jQuery, or any external libraries.
This gem integrates this fantastic plugin with Rails 3.1 Asset Pipeline.
LICENCE CAVEAT: this version of FineUploader is the last one released under the MIT and LGPL licences. If you're using it for a commercial project, either stick to this version (patches welcome) or upgrade to 3.3.1+ and head to the upstream repo to obtain a paid licence.
gem 'fineuploader-rails', '~> 3.3'
Require fineuploader in your app/assets/application.js file.
//= require fineuploader
Require the stylesheet file to app/assets/stylesheets/application.css
*= require fineuploader
Thanks to Andrew Valums and Ray Nicholus for this plugin. Thanks to Yury Lebedev for version 2 of this gem.