Supertext Home
Chief of the System Blog

File Upload with ASP.NET

January 29th, 2008 by

Jon Galloway already had some interesting thoughts about uploading large files with ASP.NET. Unfortunately he didn’t really advise on one good solution.
So I decided (or had) to take a look myself. What I needed is an upload button with a progress bar that works on a Mac and on a PC with a reasonable recent browser.

And here are the results:


Convincing Solutions: (They normally worked on IE, but not necessarily on Mac)

KUpload
A bit a confusing product palette and pricing, but looks like it starts at $79 plus $19 for the progress bar. Or $499 with Source Code. Demo works fine. Web-Site looks a little unprofessional.

DEXTUpload .NET
Component seems to work fine, nice progress bar and decent pricing for $338. Homepage works a bit strange, but info is there. No success on Mac.

SlickUpload
Nice simple online Demo and webpage. Starts at $149. Progress Bar updates nicely with infos about uploaded kBytes and time remaining. Forum has posts and lots of views. Last update was on the 06/24/2007. Works on Mac Safari, FF and on Windows.

Dart File Upload for ASP.NET
Looks professional and the online Demo works fine. Nice progress bar with additional information. Skinning possibilities and a special File Dialog button, so you don’t see the “Browse” button. Starts at $249.
Progress Bar does not really move on Safari or FF on Mac.

Essential Objects Ajax Uploaded
Another nice component with a good online Demo. Pricing starts at $149. Multiple Postback options and different skinning possibilities. Works fine in all tested browsers.

Telerik RadUpload Promoetheus
Telerik is a big provider of ASP.NET components with a pretty good reputation as far as I know. Their Upload component seems to be one of the more powerful on this list. The individual control starts at $249 and the whole suit is $799.
Based on this info, I decided to give it a try. Unfortunately, it does not currently work in Integrated Mode with IIS 7. Neither does the Progress Bar work in Safari 3 on a Mac 10.5.1 (Leopard). Very disappointing.

 

Not so convincing Solutions: (Demo’s did not work on my Vista IE7)

UpFilesBE
Look more like a hobbyist component, also, no updates since a while, no forum, etc. On the other hand, it’s only $49.

Update: Original Link does not work anymore: http://www.datanyms.com, but got a comment with a new Link to expanData AND a new price, now its $999. I tested it again. Looks like the demo is still the old one. It works fine in IE, but still not in Safari.

AsyncFileUpload
The only one that even mentions Ajax Panel compatibility, other than that, not much there. No Progress Bar either. $69 is ok. Last update was on May 2007.

FileUp
For $499 from SoftArtisans. There is no Progress Bar, at least in the Online Demo. Rather weak online presentation, but seems to be one of the players in the Upload Component Area.

PowUpload
With $199 in the middle field if it comes to pricing. Demo works fine, but the Progress Bar clearly reloads after each update and runs in a Popup. There are better solutions out there.

ABCUpload .Net
One of the more expensive tools for $899. The Upload happens in Popup Window, which I don’t really like too much, also the price is pretty high and I’ve never heard from this company before.

Mediachase FileUploader.NET
Starts at $310 and goes up to $3625 for a Corporate License. Progress Bar is in a Popup, but did not work in my test.

csNetUpload
Only $50, but no online demo or forum available, so I didn’t test this any further.

UploadProgressTracker
Again only $50, but looks like there has been no update since 2006, not really a good candidate either. Demo works fine though.

JUpload, Active Upload, Upload Friendly need a Java Applet to work, which is not something we want to do. So I didn’t look at them any further.

 

Open Source

NeatUpload
Looks like a pretty cool Open Source Component. The Progress Bar is in an IFrame and seems to do its job, but the update steps are not very fine grained. Also supports Mono!
Unfortunately it also does not work with Integrated Mode in IIS7. Please help voting so that Microsoft fixes this issue.
Passed the test in all my browsers (Mac and PC). Forum is full and recent, support seems to be available.

SWFUpload
The only Flash based component in this test. Was my longtime favorite and still is to a certain degree. We used this for Supertext for a while now. Really like the architecture and the features, unfortunately we had many users for which it didn’t work. Would be my first choice for an Intranet solution or if you have a limited user base.

FileUploadAjax
Didn’t see much Ajax or even a Progress Bar on my quick test, but does have decent amount of online examples.
Forum has tons of posts and latest version is from the 7/27/2007.

SharpUpload
Looks like this is rather a helper component to handle uploaded files, than something like the other tool that come with progress bars. etc.

Multiple File Upload With Progress Bar Using Flash and ASP.NET
From the Codeproject Website. Got really good reviews, but didn’t get around to try it out yet.

Summary
HORRIBLE! More than half of the products don’t really work, most of them don’t do anything on a Mac. Not sure why this has to be such an issue. Is this only an IIS/ASP issue?
The only 3 Components that really worked in our quick tests were SlickUpload, Essential Objects and NeatUpload. We kinda liked SlickUpload, but decided to give NeatUpload a try. Will keep you posted about the results.

Would really love to hear what experiences that other people had?


42 Comments to “File Upload with ASP.NET”

  • Fabian says on January 30th, 2008 at 10:42 am :

    Great job, pal!

  • Rinaldo says on January 30th, 2008 at 10:46 am :

    Uploading is a core function for many enterprises. First of all I hate the “Search”-Button IEX and Firefox display – Safari has solved that much better. There is no input field, just a button. I hope there will be a native html or asp solution for uploading, it seems there is not one component out there who solves the problem seamlessly.

  • Robert says on January 30th, 2008 at 11:45 am :

    You can apply some JS hacks to stylize the input field, for example:
    http://shauninman.com/archive/2007/09/10/styling_file_inputs_with_css_and_the_dom

    Re: NeatUpload
    I like this component but I’ve found that it doesn’t really look so good on a form that otherwise uses ajax. The form and file input being on the main page requires that you do a full postback, which is exactly what I’d like to avoid. It’s almost as if they got it backwards – the file input should be in an iframe and the progress bar on the main page, instead of the other way around.

  • vincent says on January 30th, 2008 at 11:54 am :

    I’ve been using NeatUpload for quite a while. I was very happy with it, except that the way it works (with a HttpModule) interfered when we were using a regular file upload system/control/html-element.

    Well, at least I think that was the issue. But we’re very satisfied with it.

  • Remy Blaettler says on January 30th, 2008 at 12:26 pm :

    Good point about the the iframe, maybe thats something that can be done. Worst case we have 2 nested iframes. I think the Essential Objects Component does something like that.

  • Jifka says on February 1st, 2008 at 3:32 pm :

    Thanks for the overview, Remy!
    Dart’s File Upload seems to work fine in IE, FF, Safari on both Windows and Mac. Not sure why the progress wasn’t working for you. You may want to give it another go.

  • Remy Blaettler says on February 4th, 2008 at 2:29 pm :

    Dart works for me on Safari for Windows, but not on Mac. We are using Safari 3.0.4 with OS X 10.5.1

  • Darick says on February 6th, 2008 at 4:46 pm :

    I wrote an upload control using Flex and ASP.Net. It is at http://www.codeproject.com/KB/aspnet/FlashUpload.aspx. It has a few issues but I believe it is mostly Flash related. I use it on three different websites and haven’t had any trouble (that I know of). I’m hoping with Silverlight 2.0, a better one can be made. I provide the source code for the flex and ASP.Net. Check it out and let me know how it stacks up.

  • Robert says on February 6th, 2008 at 7:28 pm :

    I’m curious what happened for the many users that SWFUpload didn’t work with, could you elaborate? Did they have Flash installed? High enough version?

  • Remy Blaettler says on February 7th, 2008 at 8:07 am :

    Hey Robert

    http://demo.swfupload.org/Documentation/#knownissues

    Shows some of the known issues that people have with SWFUpload.

    I had a few users that have Flash 9 installed and they saw the control, where able to select the file, but the upload just didn’t start afterwards. I even got the debug output and everything looks fine, besides the fact that the upload itself didn’t happen.

    Another user got an IE security warning, which is more of a browser setting I guess, but we need this tool on our frontpage and it kinda looks scary if people get a security warning.

    Other than that, I really liked the tool. If it’s not on the frontpage and you have somewhat flexible users (Flickr for example just has a link below the flash tool to use the normal upload buttons) I can recommend it.

  • Remy Blaettler says on February 7th, 2008 at 8:11 am :

    Darick, thanks for the link. I’m sure your tool works fine, besides the usual issues that flash seems to bring with it. I don’t think Silverlight will really be a solution until it’s on every desktop.

  • Robert says on February 7th, 2008 at 10:43 am :

    Thanks for the info Remy!
    SwfUpload has a lot going for it but I guess ultimately it can’t be better than the Flash it depends on. I had some issues too, probably the same that you describe.

    Looks like I’m gonna go with NeatUpload.

  • Remy Blaettler says on February 7th, 2008 at 11:04 am :

    Yep, good luck! Neatupload seems to work fine for me so far, it’s not the sexiest in the bunch, but at least it works (with the exception of using Integrated Mode on IIS7).

  • Remy Blaettler says on February 11th, 2008 at 6:53 am :

    Robert, I found a control that uses an iframe for the file input:
    http://geekswithblogs.net/rashid/archive/2007/08/01/Create-An-Ajax-Style-File-Upload.aspx

    There is not demo, so I’m not sure how well it would work and the progress bar is just a fake timer.

  • Remy Blaettler says on February 21st, 2008 at 4:59 am :

    Another interesting tool from Yahoo:
    The Yahoo! UI Library: Uploader
    http://developer.yahoo.com/yui/uploader/
    This works with flash too, so I assume it has the usual flash issues, but maybe not?

  • Josh Coswell says on March 3rd, 2008 at 12:01 am :

    About UpFilesBE

    I worked on this project for httpmodule part. It looks like good product with ajax-based progress bar.

    Josh Coswell

  • Remy Blaettler says on March 3rd, 2008 at 5:16 am :

    I tried it out again, still does not work for me in Safari.

  • Josh Coswell says on March 4th, 2008 at 11:59 pm :

    Sir Remy Blaettler

    Can you please send me an email on my address?
    I want to discuss some issues out of this Forum.

    Thanks
    Josh

  • Remy Blaettler says on March 5th, 2008 at 6:44 am :

    A lot of people asked for a solution to dynamically add multiple file upload html elements:
    http://the-stickman.com/web-development/javascript/upload-multiple-files-with-a-single-file-element/
    This seems to be a neat solution from Stickman.

  • Vadim says on March 28th, 2008 at 12:15 pm :

    Thanx for good review of whats avalable.

    Few more flash based uploaders I found. Experience anyone?

    Element IT MultiPowUpload
    http://www.element-it.com/MultiPowUpload.ASPX
    Multiple file selection, ASP.NET, free.

    TWG Flash Uploader
    http://www.tinywebgallery.com/index_tfu.htm

    MultiBitShift
    http://multibitshift.com/page/features

  • Jacob says on April 9th, 2008 at 4:36 pm :

    http://ajaxuploader.com/

    This control is Ajax Based with a progress bar. It works great.

  • Remy Blaettler says on April 9th, 2008 at 4:46 pm :

    Indeed this control works very well. I tried it in IE and Safari (both on Windows) without any issues. Also no unnecessary postbacks, looks like a smooth Ajax upload.

  • Remy Blaettler says on April 9th, 2008 at 6:11 pm :

    Just found another neat multi upload solution:
    http://jacobslusser.com/2007/09/13/multi-upload/

  • Remy Blaettler says on April 28th, 2008 at 11:01 am :

    One more Flash Upload:
    http://digitarald.de/project/fancyupload/
    I guess I will soon create an updated Post with all the links organized a little better, but until then I just post them here for reference.

  • Gregory says on June 16th, 2008 at 7:29 am :

    Hello,

    Here is many programmers that use upload components for ASP.NET.
    We would like to know your opinion, some remarks, about our upload component EAUpload.

    Here is links:
    http://www.easyalgo.com/EAUpload.aspx
    http://www.easyalgo.com/Examples/EAUpload/Default.aspx

    Best regards,
    Gregory

  • Remy Blaettler says on June 16th, 2008 at 8:34 am :

    Looks nice on IE and FF, but as stated on their webpage it kinda fails on Safari.

  • Gregory says on September 4th, 2008 at 7:05 am :

    Hello Remy,

    May be you would be interested to look at this ajax file upload example:

    http://www.easyalgo.com/Examples/EAUpload/AjaxFileUploadWithAjaxProgressBar.aspx

    Safari, Google Chrome browsers also supported

    Best regards,
    Gregory

  • ecards says on December 30th, 2008 at 8:31 pm :

    Remy, it’s been a while – I’m wondering is your favorite choice still here still NeatUpload?

    Also regarding powupload, I believe their latest and greatest is confusingly “multiPowUpload” (http://www.element-it.com/DemoMultiPOW.aspx) This version does not seem to have the limitations you mention.

    We’ve been using SWFUpload but are having problems with 1-2% of users. Being a public site I’m really looking around for the solution with the most possible compatibility.

    Regards,
    Lee

  • Remy Blaettler says on December 31st, 2008 at 5:57 am :

    I have not looked at powupload recently.

    We are still using NeatUpload and had absolutely no issues with it. We did not upgrade to 1.3 yet, but the new version does support IIS7 Integrated Pipeline Mode. So one of the biggest drawbacks that the old version had is gone.

  • Naphta says on February 2nd, 2009 at 5:17 pm :

    Hello,
    I represent a printer company that receives files from customers who have PCs and Macs and all browsers.
    I worked with a dll of motobit, well never worry but it was in ASP, and only one file at a time.
    Then I tested the component JavaZoom very well but only for FTP, and need java.
    Then Ajaxuploader that works 40% of upload they have lots of worries.
    I will have to find a component that really works on all platforms and all browsers so I will now test Essentials object.
    Really informative blog
    A +

  • Remy Blaettler says on February 3rd, 2009 at 6:25 am :

    We are still using NeatUpload, it does not need Java, ActiveX or Flash and so far we did not have any issues. Even for bigger uploads around 30MB. We have not tried bigger stuff yet.

  • Serg says on March 17th, 2009 at 5:58 am :

    Hello everyone,

    May be you would be interested to look at another flash upload utility:
    http://www.easyalgo.com/eaflashupload.aspx. It has three different user interfaces and many advanced features such as: send variables as form fields values, retrive browser cookie, assign description for each file, JavaScript API.

  • Brent says on May 22nd, 2009 at 12:44 pm :

    This is a great review of solutions. I found your page to be an excellent place to start looking for upload controls. Thank you!

    Brent

  • web tasarımı says on November 12th, 2009 at 6:55 am :

    This is a great review of solutions.

  • nghiavt says on May 20th, 2010 at 6:13 am :

    nice post but 2010 now,could you pls update your review anyway i’m trying with neatupload Version=1.3.3756.31371

  • Remy Blaettler says on May 21st, 2010 at 5:21 am :

    Yeah, you are right. It’s on my to-do list, but just as a FYI. We just upgraded to the newest NeatUpload Version. Still working fine.

  • peruk says on February 27th, 2011 at 12:01 pm :

    This is a great review of solutions. I found your page to be an excellent place to start looking for upload controls. Thank you!

  • Sebastian - Hostales en Villarreal says on September 9th, 2011 at 6:41 pm :

    Thanks for the info Remy!

  • Juan | Seguros en Castellon says on December 21st, 2011 at 9:46 am :

    Thancs for good review of whats avalable.

  • Dani - fontaneros Castellon says on January 16th, 2012 at 9:05 am :

    I like this component but I’ve found that it doesn’t really look so good on a form that otherwise uses ajax.

  • Rémy Blättler says on January 16th, 2012 at 5:10 pm :

    Which one doe you mean? You can configure Neat-Upload to your liking.

  • Best Free Controls for .NET [closed] | Everyday I'm coding says on March 13th, 2013 at 5:40 am :

    [...] Various FileUpload Controls [...]

Leave a Reply

  • Topics
  • Archive
  • Subscribe
  • Facebook
  • Twitter