Is there any "mainstream" library used for this purpose? Commonly spread, well maintained, documented etc. I found these (using flash):
- Uploadify - not many releases, latest 12/2010, no documentation (!)
- SWFUpload - latest release 03/2010, documentation
- fancyupload - looks buggy.
- phpfileuploader - looks heavyweight, and looks commercial (?) I cannot read the licence (you can download it but are you allowed to use it forever without paying?)
- plupload
New version of pure javascript (no flash) Valums' ajax upload claims to handle file size limit and progress bar, which is quite suspicious to me: these features require to guess the file size before the upload, which seems impossible in javascript (look also here). Or can it work?
Check jQuery-File-Upload. It's quite alright. (Also handles file size. Thats what you mean?)
A new contender seems to be FileAPI, it uses HTML5 APIs, with flash as a fallback: https://github.com/mailru/FileAPI
Here is an article about it on Smashing magazine: http://coding.smashingmagazine.com/2013/10/11/we-wanted-to-build-a-file-uploader/
Plupload and Uploadify look best up to my current research point...
I tried swfupload, it looked fine at the first sight but as I tried to use it, it started to be more and more cluttered, many of the features you see in the demo are unexpectedly not standard parts of the library, you have to get the example code and hack it a lot, it's not configurable (e.g. queue timeouts) etc... Refrained from using it.