FileUpload.FileContent Property (System.Web.UI.WebControls)

Switch View :
ScriptFree
.NET Framework Class Library
FileUpload.FileContent Property

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Gets a Stream object that points to a file to upload using the FileUpload control.

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

Visual Basic

<BrowsableAttribute(False)> _
Public ReadOnly Property FileContent As Stream
C#

[BrowsableAttribute(false)]
public Stream FileContent { get; }
Visual C++

[BrowsableAttribute(false)]
public:
property Stream^ FileContent {
	Stream^ get ();
}
F#

[<BrowsableAttribute(false)>]
member FileContent : Stream

Property Value

Type: System.IO.Stream
A Stream that points to a file to upload using the FileUpload.
Remarks

The FileContent property gets a Stream object that points to a file to upload by using the FileUpload control. Use the FileContent property to access the contents of the file. For example, you can use the Stream object that is returned by this property to read the contents of the file as bytes and store them in a byte array.

Examples

The following example demonstrates how to create a FileUpload control. The FileContent property is used to read the contents of the file into a byte array. When the user clicks the Upload file button, the contents of the file are displayed as bytes in a text box on the page.

Visual Basic

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Sub UploadButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        ' Specify the path on the server to
        ' save the uploaded file to.
        Dim savePath As String = "c:\temp\uploads\"

        ' Before attempting to perform operations
        ' on the the file, verify that the FileUpload 
        ' control contains a file.
        If (FileUpload1.HasFile) Then

            ' 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.
            FileUpload1.SaveAs(savePath)

            ' 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.
            DisplayFileContents(FileUpload1.PostedFile)
        Else
            ' Notify the user that a file was not uploaded.
            UploadStatusLabel.Text = "You did not specify a file to upload."
        End If

    End Sub

    Sub DisplayFileContents(ByVal file As HttpPostedFile)

        Dim myStream As System.IO.Stream
        Dim fileLen As Integer
        Dim displayString As New StringBuilder()
        Dim loop1 As Integer

        ' 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.
        Dim Input(fileLen) As Byte

        ' 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 loop1 = 0 To fileLen - 1
            displayString.Append(Input(loop1).ToString())
        Next loop1

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

        Dim ContentsTextBox As 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.
        PlaceHolder1.Controls.Add(ContentsTextBox)

    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>FileUpload.FileContent Property Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h4>Select a file to upload:</h4>

        <asp:FileUpload id="FileUpload1"
           runat="server">
        </asp:FileUpload>

        <br /><br />

        <asp:Button id="UploadButton" 
            Text="Upload file"
            OnClick="UploadButton_Click"
            runat="server">
        </asp:Button>

        <br /><br />

        <asp:Label id="UploadStatusLabel"
           runat="server">
        </asp:Label>  

        <hr />

        <asp:Label id="LengthLabel"
           runat="server">
        </asp:Label>  

        <br /><br />

        <asp:Label id="ContentsLabel"
           runat="server">
        </asp:Label>  

        <br /><br />

        <asp:PlaceHolder id="PlaceHolder1"
            runat="server">
        </asp:PlaceHolder>        
    </div>
    </form>
</body>
</html>


C#

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<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.
            FileUpload1.SaveAs(savePath);

            // 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.
            DisplayFileContents(FileUpload1.PostedFile);
        }
        else
        {
            // 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++)
        {
            displayString.Append(Input[loop1].ToString());
        }

        // 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.
        PlaceHolder1.Controls.Add(ContentsTextBox);

    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>FileUpload.FileContent Property Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h4>Select a file to upload:</h4>

        <asp:FileUpload id="FileUpload1"
           runat="server">
        </asp:FileUpload>

        <br /><br />

        <asp:Button id="UploadButton" 
            Text="Upload file"
            OnClick="UploadButton_Click"
            runat="server">
        </asp:Button>

        <br /><br />

        <asp:Label id="UploadStatusLabel"
           runat="server">
        </asp:Label>  

        <hr />

        <asp:Label id="LengthLabel"
           runat="server">
        </asp:Label>  

        <br /><br />

        <asp:Label id="ContentsLabel"
           runat="server">
        </asp:Label>  

        <br /><br />

        <asp:PlaceHolder id="PlaceHolder1"
            runat="server">
        </asp:PlaceHolder>        
    </div>
    </form>
</body>
</html>


Version Information

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0
Platforms

Windows 8 Release Preview, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

See Also

Reference