11
votes

I've done a good bit of research to find an upload component for .NET that I can use to upload large files, has a progress bar, and can resume the upload of large files. I've come across some components like AjaxUploader, SlickUpload, and PowUpload, to name a few. Each of these options cost money and only PowUpload does the resumable upload, but it does it with a java applet. I'm willing to pay for a component that does those things well, but if I could write it myself that would be best.

I have two questions:

  1. Is it possible to resume a file upload on the client without using flash/java/Silverlight?
  2. Does anyone have some code or a link to an article that explains how to write a .NET HTTPHandler that will allow streaming upload and an ajax progress bar?

Thank you,
Austin

[Edit]

I realized I do need to be able to do resumable file uploads for my project, any suggestions for components that can do that?

5

5 Answers

6
votes

1) Is it possible to resume a file upload on the client without using flash/java/Silverlight?

No. The actual HTTP protocol itself does not support resume of partial uploads, so even if you did use flash or silverlight, you'd still need to use something else like FTP on the server.
I've "solved" this problem in the past by writing a custom client application in C# which broke the file down into small chunks (2meg), transmitted those separately, and then the server combines them all back together.

2) Does anyone have some code or a link to an article that explains how to write a .NET HTTPHandler that will allow streaming upload and an ajax progress bar?

While this doesn't solve the 'resume' problem, I've used SWFUpload on the client side and it worked brilliantly. It provides a smart file browser (where you can prompt the user for only jpeg files, etc) and upload progress tracking, all without needing to modify your server at all.

5
votes

It's not possible to resume an upload using standard HTML file input control, because the whole file gets submitted with the HTTP request.

I've used NeatUpload in the past, which gives you a progress bar. It's under an LGPL license, so you don't need to pay for it and it's open source.

0
votes

Nothing more to add about the resume problem. I used (and keep on using) telerik radUpload and I am quite satisfied with it (it can even be used in medium trust mode which was quite important for me). The only problem I had (and was not able to fix) is to upload files bigger than 2GB...

0
votes

SlickUpload is pretty solid and a lot of big companies use it from what the site says.

0
votes

This is probably too late for your project, but POW Upload have now implemented auto resume upload in their new version. We're about to implement it on our site.