Simple Ajax Uploader is another option:
https://github.com/LPology/Simple-Ajax-Uploader
- Cross-browser -- works in IE7+, Firefox, Chrome, Safari, Opera
- Supports multiple, concurrent uploads -- even in non-HTML5 browsers
- No flash or external CSS -- just one 5Kb Javascript file
- Optional, built-in support for fully cross-browser progress bars (using PHP's APC extension)
- Flexible and highly customizable -- use any element as upload button, style your own progress indicators
- No forms required, just provide an element that will serve as upload button
- MIT license -- free to use in commercial project
Example usage:
var uploader = new ss.SimpleUpload({
button: $('#uploadBtn'), // upload button
url: '/uploadhandler', // URL of server-side upload handler
name: 'userfile', // parameter name of the uploaded file
onSubmit: function() {
this.setProgressBar( $('#progressBar') ); // designate elem as our progress bar
},
onComplete: function(file, response) {
// do whatever after upload is finished
}
});