Hi Joe.
I understand it is quite some work to add a new plug in option, and I also need to do some other projects first - and maybe I'll have it rewritten to work differently later on.
The problem with NeatUpload is that is goes back to basic functionality in medium/partial trust, while mine works with full functionality in partial trust. (And NeatUpload just gave me a hell of time because I did not realize there was wrong access permissions on the server - it seamed to work but the file was not stored and the system log did not contain any new entries of errors, so it look me a long time to realize the potential cause of the error... Yes, not your fault. I'll probably feel better about NeatUpload tomorrow once my hosting provider has fixed the permissions.)
Of course the reason why my control work in partial trust is because I don't care about the memory use or spooling the file. For huge files NeatUpload is definetly better, but for uploading images for use in a blog, or uploading a PDF file for others to download, that might not be needed.
The reason for the database coupling is that my control works opposite of yours: you gather all files on the client and first uploads them when the "Submit" button is pressed. In mine, the JavaScript (made by Valum) uploads the files as soon as they are selected, and I use the database to keep track of the files between (partial) postbacks, and since the server does not know if the user abandons the page, the database allows me to easily delete all the abandoned uploads. The database is also used for some security information, so the control can tell the upload handler to expect a file of a certain kind, so it can be validated by the upload handler. (It was designed for being on publicly available pages, like for unregistered users to upload a CV as part of a job application, or for uploading images to a post on a social site.)
I guess I could make a purely file based version by storing the extra details in XML format or something, and loop over all files in a temp directory to delete all outdated uploads... I forgot how amazingly many databases mojoPortal supports, but by designing my control to support 2 different databases, I always have the possibility to add more, and I understand that in order for my control to be of interest to you, I need to either support all those databases or provide an alternative.
In Internet Explorer I only have a spinning gif animation and a "Wait" text while the file is uploaded, but Valum's JavaScript uses 'new' features of Firefox (3+), Chrome and Safari to upload the file in an alternate way, whereby a standard JavaScript event is fired by the browser to indicate upload progress. I don't remember if this new way has been implemented in IE 10 yet or not... Anyway, I guess your need for the popup progress indicator is because the files are uploaded at the end when the whole page is posted back, while in mine there is no files being transferred when you press "submit", so it is just a standard quick (partial) pageload.
The multiple-files selection thing is exactly the same in mine as in NeatUpload, although here the limitation is again that IE only allows one file selected at a time, while the other browsers allow multiple selected at once. But in IE it is possible to open and select the next file while the first is being uploaded. (Your Flash version probably has the advantage on IE.)
Well, maybe I have at least planted the idea that a control exist for doing uploads on pages with partial postbacks, but writing this I can also see that it might have a different purpose (smaller file uploads on publicly visible pages where validation controls might prevent the "submit" button from saving the file).
I'll keep thinking about ways to improve and expand my control, and if you get to the point where you would like to offer a choice between upload controls, then please don't hesitate to yell for me, and I'll customize it so it can work with mojoPortal.
Ok? ![smiley smiley](/Data/SiteImages/emoticons/regular_smile.gif)