Attachment bar is presented in minimalist bar type interface, perfectly suitable for attachment box in data entry form or uploading attachment files. Despite its small and compact in form factor, the attachment bar interface also offers multiple files uploading and canceling, similar to the panel interface.
File selection in panel interface is offers the most intuitive uploading experience. All elements are arranged neatly and end user can upload multiple files in multiple input boxes, which can be added or removed when needed. When the built-in validation feature is enabled, an error indicator is shown next to the Select button, making it easy for users to notice on any errors. When hovered, the error message will be shown in the tooltip.
In panel interface, during a file uploading process, two progress bar will be shown. The first one is a file specific upload progress and the next one is the overall upload progress. An intuitive status indicator is also provided to indicate the current upload status. End user can perform various actions during the uploading process, for example: aborting the current upload, canceling the pending upload, or canceling all uploads.
Unlike standard ASP.NET file upload, WebFileUploader doesn’t require you to write codes to save uploaded files. Just set the UploadPath property of the WebFileUploader control and you’re all set.
WebFileUploader automatically saves all uploaded files to the specified upload path. Make sure you have configured sufficient security and permission settings for ASP.NET worker process to access the specified upload path.
You can enter physical path, IIS virtual path, or network path for the upload location. The default upload path is ~/Upload.
WebFileUploader is built upon http module to provide reliable, memory-efficient implementation for large file uploads support. In addition, it also relies on http handler to support many advanced features such ability to abort currently uploaded files, cancel other pending uploads, and more.
The standard ASP.NET file upload component often fails when uploading large files, for instance, a 10 MB file. Two of the most common errors are request time out and out of memory error. That happened because the standard file uploading implementation in ASP.NET requires the file to be entirely uploaded before it returns a response to the client side.
WebFileUploader takes advantage of HttpModule technology to handle large file upload with a more sophisticated implementation that doesn’t perform memory-level buffering. As the result, WebFileUploader can handle large file uploads with very minimal memory and resources consumption.
By default, WebFileUploader uploads one file at a time to avoid over consumption on bandwidth and resources. However, WebFileUploader can also be configured to upload multiple files asynchronously to support enterprise-level usage, such as internal or corporate web application.
Since WebFileUploader will upload all files simultaneously, please use this feature with caution as it will significantly affect your server’s workload and resources consumption. Make sure you have load-tested your server properly to use this feature. It’s also advisable to use this feature with file validation for enhanced security.
WebFileUploader is designed with rock-solid API and extensible client-side events to give you total control over uploading process. Works in conjunction with real-time progress bar feature, WebFileUploader sent event notification to client-side in real-time – such as OnBeforeUpload, OnAfterUpload OnErrorUpload, and even OnUploading event.
In addition to client-side events, WebFileUploader also provides comprehensive server-side events, making it easy for developers to customize and extend the control with additional processing on certain event.
It is designed with sophisticated architecture that enables server-side events to be raised properly, although WebFileUploader doesn’t have direct access to the Page object due to the nature of its architecture that used more advanced HttpModule/HttpHandler technology instead of old-fashioned AJAX.