This documentation is archived and is not being maintained.

FileUpload.PostedFile Property

Gets the underlying HttpPostedFile object for a file that is uploaded using the FileUpload control.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public HttpPostedFile PostedFile { get; }
/** @property */
public HttpPostedFile get_PostedFile ()

public function get PostedFile () : HttpPostedFile

Not applicable.

Property Value

An HttpPostedFile for a file uploaded using the FileUpload.

The PostedFile property gets the underlying HttpPostedFile object for a file that is uploaded using the FileUpload control. Use this property to access additional properties on the uploaded file.

You can use the ContentLength property to get the length of the file. You can use the ContentType property to get the MIME content type of the file. In addition, you can use the PostedFile property to access the FileName property, the InputStream property, and the SaveAs method. However, the same functionality is provided by the FileName property, the FileContent property, and the SaveAs method.

The following code example demonstrates how to create a FileUpload control. When the user clicks the Upload file button, the contents of the file are displayed as bytes in a text box on the page. This example uses the PostedFile property to access the System.Web.HttpPostedFile.ContentLength property. The ContentLength property is used to determine the length of the file prior to copying the file contents to a byte array.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

<script runat="server">

    protected void UploadButton_Click(object sender, EventArgs e)
        // Specify the path on the server to
        // save the uploaded file to.
        String savePath = @"c:\temp\uploads\";

        // Before attempting to perform operations
        // on the the file, verify that the FileUpload 
        // control contains a file.
        if (FileUpload1.HasFile)
            // Append the name of the file to upload to the path.
            savePath += FileUpload1.FileName;
            // Call the SaveAs method to save the 
            // uploaded file to the specified path.
            // This example does not perform all
            // the necessary error checking.               
            // If a file with the same name
            // already exists in the specified path,  
            // the uploaded file overwrites it.
            // Notify the user that the file was uploaded successfully.
            UploadStatusLabel.Text = "Your file was uploaded successfully.";
            // Call a helper routine to display the contents
            // of the file to upload.
            // Notify the user that a file was not uploaded.
            UploadStatusLabel.Text = "You did not specify a file to upload.";
    void DisplayFileContents(HttpPostedFile file)
        System.IO.Stream myStream;
        Int32 fileLen;
        StringBuilder displayString = new StringBuilder();
        // Get the length of the file.
        fileLen = FileUpload1.PostedFile.ContentLength;
        // Display the length of the file in a label.
        LengthLabel.Text = "The length of the file is " + 
                           fileLen.ToString() + " bytes.";
        // Create a byte array to hold the contents of the file.
        Byte[] Input = new Byte[fileLen];
        // Initialize the stream to read the uploaded file.
        myStream = FileUpload1.FileContent;
        // Read the file into the byte array.
        myStream.Read(Input, 0, fileLen);
        // Copy the byte array to a string.
        for (int loop1 = 0; loop1 < fileLen; loop1++)

        // Display the contents of the file in a 
        // textbox on the page.
        ContentsLabel.Text = "The contents of the file as bytes:";

        TextBox ContentsTextBox = new TextBox();
        ContentsTextBox.TextMode = TextBoxMode.MultiLine;
        ContentsTextBox.Height = Unit.Pixel(300);
        ContentsTextBox.Width = Unit.Pixel(400);
        ContentsTextBox.Text = displayString.ToString();

        // Add the textbox to the Controls collection
        // of the Placeholder control.


<html xmlns="" >
<head runat="server">
    <title>FileUpload.FileContent Property Example</title>
    <form id="form1" runat="server">
        <h4>Select a file to upload:</h4>
        <asp:FileUpload id="FileUpload1"
        <br /><br />
        <asp:Button id="UploadButton" 
            Text="Upload file"
        <br /><br />
        <asp:Label id="UploadStatusLabel"
        <hr />
        <asp:Label id="LengthLabel"
        <br /><br />
        <asp:Label id="ContentsLabel"
        <br /><br />
        <asp:PlaceHolder id="PlaceHolder1"

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0