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:
Set the form encoding type to
multipart/form-data
.Add an HTML
input
control with the type set tofile
.Add an Upload (or equivalently named) button.
In the code-behind class for the page, use the .NET language of your choice to:
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.
Save the file to the local filesystem on the server using the
SaveAs
method of thePostedFile
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.
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.