Krystalware
Overview Technology Demos Download Documentation Purchase Forums
60 day moneyback, 1-2 day support guaranteed
SlickUpload logo

SlickUpload - ASP.NET Upload Component & File Upload Control

SlickUpload provides scalable ASP.NET upload handling with a rich progress and status information display. SlickUpload intercepts upload requests before ASP.NET can process them, enabling it to stream the files directly to the filesystem or a database with little overhead. For user feedback, SlickUpload provides information that can be displayed to the user in real time using AJAX techniques.

» next steps: try live demo | download free trial!

Supported Environments

Browser
Internet Explorer
IE 6+
Firefox
FF 1.5+
Safari
Safari 2+
Opera
Opera 9+
Client OS
Windows
Windows
OS X
OS X
Linux
Linux
.NET Framework
.NET Framework .NET 1.1, 2.0, 3.0, 3.5
Server OS
Windows Server Windows 2000, 2003, 2008
IIS Version
IIS IIS 5, 6, 7

Personal/Nonprofit Licenses

We offer licenses for nonprofits and hobbyists at a discount, or even free. Visit our personal/nonprofit questionnaire to see if you qualify.

MS MVP/Regional Directors

We offer free licenses to Microsoft MVPs and Regional Directors. Visit our MS MVP/RD License Program page for more information.

Why not use the built-in ASP.NET upload support?

ASP.NET (v1.x) doesn't have any capacity to stream requests, and thus will load an entire upload into memory before processing it. This can cause scalability problems, as well as opening up a possible vulnerability to a denial of service (DOS) attack. SlickUpload fixes these problems by intercepting the upload request before the ASP.NET page processing engine gets it, and streaming it in chunks directly to disk or to a database. This eliminates the problem of loading the request into memory.

SlickUpload also adds the capability to monitor upload progress during an upload. This gives you the ability to display progress information to users, giving them progress feedback in real time.

Advantage overview

  • Scalable ASP.NET uploading by streaming directly to disk or database rather than loading the entire upload in memory as ASP.NET 1.x does
  • Rich AJAX progress feedback to the user that allows them to see status in real time
  • Highly customizable architecture that lets you hook in at any point to add business rules or logic
  • Built for high-availablity and scalability from the ground up
  • Supports web farm and web garden architectures for uploads and associated progress information

Benefits

Scalability and Performance

By streaming uploads directly to an output stream in chunks, rather than loading them into memory, SlickUpload achieves a level of scalability and performance impossible to reach with ASP.NET's built-in functionality.

Flexibility

SlickUpload allows you to direct an upload to its final destination as it is being uploaded, whether that be a file or a record in a database, rather than requiring you to write to a file first and then manually move data around.

Ease of use

SlickUpload is a drop-in component with minimal coding required to do most tasks. For complex tasks, SlickUpload has the depth of functionality required.

Rich end-user experience

Because the upload is integrated with a progress information service, SlickUpload is able to provide an end user with detailed data about where he is in the upload process and how long it will take to complete it.

Features

SlickUpload's design goal is to make ASP.NET uploads painless, while also providing a rich, scalable solution. SlickUpload is built to make both easy and advanced tasks as straightforward as possible. To satisfy these goals, SlickUpload provides the following features:

Full VS.NET designer support

The UploadManager control and related controls provide a simple one-step way to add rich, powerful, scalable, and reliable upload handling to your solution.

AJAX progress bar display

An AJAX progress bar and status display comes standard with SlickUpload. It provides rich progress information and recovers gracefully from errors, including max length exceeded errors that cause competing products to crash.

Request Filtering

It is extremely simple to specify a handler that SlickUpload will call to determine whether or not to handle a given request. This makes integrating SlickUpload into existing sites or frameworks such as dotNetNuke a snap.

Custom Filename/Criteria Generation

SlickUpload allows you to specify a handler that will generate the filename or database criteria on the fly as a file is being uploaded, avoiding the necessity to upload a file to one location, and then rename or move it.

Web Farm/Web Garden support

SlickUpload fully supports web farms and web gardens through its state manager framework.

RFC 1867 upload handling and MIME parsing

SlickUpload is built around a highly scalable custom MIME parser that supports standard uploads, as well as malformed uploads delivered by several offending browsers. This parser handles uploads from the standard ASP.NET HttpInputFile upload control.