15.2. Uploading a File to the Web Server

Problem

You need to provide the ability for a user to upload a file to the filesystem of the web server.

Solution

To enable a page to upload a file to the server, the form encoding type must be set to multipart/form-data and the form must include an input control with the type set to file and a button to initiate the upload process. When the user clicks the button, the code-behind can save the file to the filesystem.

In the .aspx file:

  1. Set the form encoding type to multipart/form-data.

  2. Add an HTML input control with the type set to file.

  3. Add an Upload (or equivalently named) button.

In the code-behind class for the page, use the .NET language of your choice to:

  1. Verify, in the Upload button click event handler, that the file content has been uploaded by checking the filename length and the content length to make sure they are not 0.

  2. Save the file to the local filesystem on the server using the SaveAs method of the PostedFile object.

Example 15-4 shows the .aspx file for an application we’ve written to demonstrate this solution by allowing you to browse for a file and then uploading the chosen file to your web server’s local filesystem when you click the Upload button. The code-behind files for the application are shown in Example 15-5 (VB) and Example 15-6 (C#). The UI for uploading a file is shown in Figure 15-3.

UI for uploading a file

Figure 15-3. UI for uploading a file ...

Get ASP.NET Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.