ASP.NET Upload Frequently Asked Questions

Complete FAQ for file uploading with ASP.NET 1.x-3.5

FAQ on uploading and downloading files with ASP.NET

This FAQ covers uploading, processing, and downloading files with ASP.NET's built-in functionality, covering versions 1.x through 3.5 and outlining the capabilities and issues of each. It also provides quick samples, advanced samples, links to other helpful resources, the RFC, etc.

If you want more advanced functionality than ASP.NET provides built-in, check out my ASP.NET upload component, SlickUpload. It provides realtime ajax progress updates, easy multiple file selection capability, scalability and performance enhancements over ASP.NET, and more.

Share this page with friends, or bookmark it for yourself:

Table of Contents


» What is the .NET Framework?
» What is ASP.NET?
» What is IIS?
» What is different between ASP.NET versions for uploading?
» How do browsers upload?
» What is the maximum size of an upload?

» How to

» Set up a html form to accept uploads
» Handle larger uploads and avoid timeouts
» Access an uploaded file
» List all files uploaded to a page

» Quickstart

» Upload to the filesystem
» Download from the filesystem
» Upload to a SQL database
» Download from a SQL database

» Advanced

» Upload files using an RFC 1867 POST request with HttpWebRequest/WebClient
» Clear HTML File Input

» Troubleshoot

The source code for all of the samples on this site is available at the download page.

SlickUpload ASP.NET Upload Component


Painless ASP.NET file uploads

  • Handle large files
  • Upload with progress bar
  • Gracefully handle cancellation and errors
  • Stream directly to file or database
  • Drag-drop simple, yet highly customizable
  • Solid, responsive support

» more info | live demo | download