FileUpload.PostedFile Свойство

Определение

Возвращает базовый объект HttpPostedFile файла для отправки с помощью элемента управления FileUpload.

[System.ComponentModel.Browsable(false)]
public System.Web.HttpPostedFile PostedFile { get; }

Значение свойства

HttpPostedFile

Объект HttpPostedFile для файла, отправляемого с помощью FileUpload.

Атрибуты

Примеры

В следующем примере показано, как создать FileUpload элемент управления. Когда пользователь нажимает кнопку Upload файла, содержимое файла отображается в виде байтов в текстовом поле на странице. В этом примере свойство используется PostedFile для доступа к свойству HttpPostedFile.ContentLength . Свойство ContentLength используется для определения длины файла перед копированием содержимого файла в массив байтов.

<%@ 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 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>

Комментарии

Свойство PostedFile получает базовый HttpPostedFile объект для файла, отправленного с помощью FileUpload элемента управления. Используйте это свойство для доступа к дополнительным свойствам отправленного файла.

Свойство можно использовать для ContentLength получения длины файла. Свойство можно использовать для ContentType получения типа контента MIME файла. Кроме того, можно использовать PostedFile свойство для доступа к свойству FileName , InputStream свойству и методу SaveAs . Однако те же функции предоставляются свойством, FileContent свойством FileName и методомSaveAs.

Применяется к

Продукт Версии
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

См. также раздел