Progressive-uploader is a project mainly written in JAVASCRIPT and RUBY, it's free.
developer challenge
Ruby, Sinatra, Sqlite, Ajax
Description: ====== A file uploader, operating hidden from the user, letting them interact with the rest of the site/form while huge uploads are being carried out in the background. Shows real time upload progress in percentage and uses Ajax for refreshing the page.
It relies on the Apache upload progress module (alternatives to this exist of course) and proper vhost config
# enable tracking uploads in /
TrackUploads On
<Location /progress>
ReportUploads On
so that a GET request with X-Progress-ID header would return a json formated progress report like shown here http://github.com/drogus/apache-upload-progress-module for that ID