Reputation: 1539
Is there some open source file upload (application) solution for a scenario like this? We have users who might want to upload really giant files, could be several GB's in file size in fact, and it seems like a regular file upload textbox isn't going to be a good choice here due to timeouts, etc...
Thanks for any advice...
Upvotes: 1
Views: 905
Reputation: 1969
Jon Galloway has a good article here: Large file uploads in ASP.NET
He mentions NeatUpload (which is free, and posted under the LGPL, a business-friendly open source license) in the article, and the link to the codeplex page: http://neatupload.codeplex.com/
Project Description
The NeatUpload ™ ASP.NET component allows developers to stream uploaded files to storage (filesystem or database) and allows users to monitor upload progress. It is open source and works under Mono's XSP/mod_mono as well as Microsoft's ASP.NET implementation.
It features several custom controls, including:
- MultiFile allows all users to select multiple files to upload and allows Flash 8+ users to select multiple files from a single file selection dialog.
- ProgressBar displays the upload progress either inline or in a popup.
- UnloadConfirmer prevents users from accidentally interrupting an upload by leaving the page.
Features
- Works in web gardens and web farms.
- Works under medium trust environments when installed in the GAC.
- Works under Mono's XSP/mod_mono and Microsoft's ASP.NET 1.1 or higher.
- Easy to install and use. Add the UploadHttpModule to the section of your Web.config and drag-and-drop the controls using the Visual Studios Web Forms Designer.
- ProgressBar control can display processing progress in addition to upload progress.
- ProgressBar control uses AJAX-style refreshless updates on modern browsers when JavaScript is available, but also allows users without JavaScript to see upload progress.
- Allows customization through styles, custom progress display pages, UploadStorageProviders, and UploadStateStoreProviders, and provides an API for creating your own file upload and progress controls.
- Falls back to using ASP.NET's HttpPostedFile if the NeatUpload UploadHttpModule is not present. This makes it easy to remove the HttpModule if for some reason it causes problems.
- Streams uploads directly to storage. This conserves server memory, allows larger uploads, and helps prevent Denial of Service attacks.
- Removes uploaded files when an error occurs. This helps prevent disk space leakage.
- Licensed under the Lesser General Public License (LGPL), a business-friendly open source license.
Upvotes: 3