RFC 1867 Compliant
UXFileUpload is a high-performance file upload control conforming to RFC 1867 form-based
data submission. Sports a professional and business-oriented styles, UXFileUpload
delivers intuitive user interface with predefined toolbars, scrollable file list,
progress bar and status bar which adheres to ISO usability standards.
UXFileUpload is built with an innovative architecture that allows you to capture
the uploaded files in loosely-coupled approach without requiring event handlers,
ideal for MVVM design pattern. This allows you to streamline the user interaction
logic in the ViewModel along with other properties, such as document details in
a document submission application. A set of comprehensive properties are available,
such as UploadedFiles, UploadedFilesUri, and more.
Included ASP.NET Server File Upload Handler
UXFileUpload comes with built-in server side upload handler based on ASP.NET dynamic
handler technology. The built-in UXFileUpload server handler is designed with a
great level of customizability, allowing you to inherit the UXFileUploadHandler
class and override the properties as necessary. You can also customize the upload
processing logic if needed, by overriding the provided properties and methods.
Automatic Upload Mode
UXFileUpload lets users upload their files in two easy steps, select the files and
hit the start upload button. With the automatic mode, UXFileUpload will start the
upload process as soon as the files are selected.
Single and Multiple Files Selection
UXFileUpload offers two types of file selection mode, Single and Multiple. You can
customize this feature through the CanSelectMultiple property.
File Type Filtering and Validation
The file-type filtering feature limit the visible file types when the Open File
dialog box shows. It is useful to focus user file selections. You can specify various
file types in FileTypeFilter property. Combine with file-type validation enforcement
feature to apply the file-type filtering rule to the file upload mechanism.
Adding the file-type filtering feature, UXFileUpload also offers numerous file upload
constraints. You can specify the maximum number of files, the total file size, and
the maximum size of each file allowed in a single upload session.
Built-in Drag-Drop Support
UXFileUpload is built to take advantage of the files drag feature available in Silverlight
4 and WPF, enabling you to add files drop capability to the file upload with a simple
property set. When enabled, users can drag one or more files from Windows Explorer
and drop them into the UXFileUpload control. A user-friendly visual indicator will
be displayed when valid files are detected. Folders and sub folders drop are also
supported with proper permission set.
Cancel Upload Progress
With cancelation feature enabled, users can cancel the upload progress in various
ways. For example, abort the entire upload session, abort the currently uploaded
file, or abort all pending upload files.
Add Files during Upload Progress
Unlike the other file upload controls, UXFileUpload lets user add new files while
the current upload is progressing. This includes add files using drag-drop feature.
Taking full advantage of commanding architecture, UXFileUpload delivers reliable
and consistent file upload experiences.
Overwrite Existing Files
UXFileUpload supports existing files overwrite out-of-the-box. When an uploaded
file already existed in the server, UXFileUpload will mark the particular file upload
as fail. To prevent this issue, you can overwrite the existing files by setting
the OverwriteExistingFiles property.
The UXFileUpload control is built around the commanding semantics which allows certain
features of the upload to be executed through declarative definition in the XAML
markup. The commanding semantics is also an ideal approach for MVVM pattern development.
UXFileUpload includes many predefined UploadCommands that you can use in your application.
Customizable File-type Icons
UXFileUpload also facilitates the default icon customization. Default icon is used
when the particular file type doesn’t any representing icon. Additionally, you can
also hide the file type icon. For better personalization, you can customize each
file type’s icon accordingly through the available property.
Override Localized Resources
UXFileUpload is a rich composite control that contains a large number of textual
contents to operate properly, such as: the text on the toolbar button, upload status,
and more. By streamlining all text in a single resource file, you can customize
it according to your target primary language.
Customizable User Interface and Visual States
In addition to its powerful feature and unique file upload architecture, UXFileUpload
enables advanced user interface customization without affecting its core functionality.
Taking advantage of commanding, multi binding, visual state, and data template,
UXFileUpload employs a loosely-coupled user interface design. This enables you to
completely revamp the file upload interface to meet your application’s needs, such
as an Outlook-style attachment bar interface, or a simple Gmail upload interface.
Send Custom Headers and Custom Post Data
UXFileUpload provides capability for developers to send custom headers and post
data in each upload request, a feature particularly useful when you need to upload
application-specific data along with the upload request.
Customizable Buffer Size
UXFileUpload implements smart file chunk logic where multiple files can fit into
a single upload request thus minimizing the client-server requests. You can upload
very large files without worrying the performance and memory consumption in both
client and server. It is not necessary to change the maximum upload request length
or other configuration in the server-side to accommodate the large files upload
using the UXFileUpload control
Increase Upload Workers
UXFileUpload’s unique feature is the ability to run multiple upload workers simultaneously.
In traditional upload control, there is only one upload work in a single upload
session. By default, UXFileUpload also runs on a single upload worker, but this
can be adjusted accordingly. The recommended setting is from 3 to 5.