Share via


FileUpload.FileBytes 属性

定义

从使用 FileUpload 控件指定的文件中获取一个字节数组。

public:
 property cli::array <System::Byte> ^ FileBytes { cli::array <System::Byte> ^ get(); };
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Browsable(false)]
public byte[] FileBytes { get; }
[<System.ComponentModel.Bindable(true)>]
[<System.ComponentModel.Browsable(false)>]
member this.FileBytes : byte[]
Public ReadOnly Property FileBytes As Byte()

属性值

Byte[]

Byte 数组,包含指定文件的内容。

属性

例外

未读取整个文件。

示例

以下示例演示如何创建 FileUpload 控件。 当用户单击“ 上传文件 ”按钮时,文件的内容将在页面上的文本框中显示为字节。 此示例使用 FileBytes 属性上传整个文件。

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>FileUpload.FileContent Property Example</title>
<script runat="server">
        
        private void DisplayFileContents(HttpPostedFile file) 
        {            
            int fileLen;
            string displayString = "";
            
            // 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 - 1];
            input = FileUpload1.FileBytes;
            
            // Copy the byte array to a string.
            for (int loop1 = 0; loop1 < fileLen; loop1++) {
                displayString = displayString + 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;
            
            // Add the textbox to the Controls collection
            // of the Placeholder control.
            PlaceHolder1.Controls.Add(ContentsTextBox);

        }

    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.";
            }
    }
</script>

</head>
<body>

    <h3>FileUpload.FileContent Property Example</h3>

    <form id="Form1" runat="server">
   
        <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>         
         
    </form>

</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>FileUpload.FileContent Property Example</title>
<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 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 fileLen As Integer
            Dim displayString As String = ""
            
            ' 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 - 1) As Byte
            Input = FileUpload1.FileBytes
            
            ' Copy the byte array to a string.
            For loop1 As Integer = 0 To fileLen - 1
                displayString = displayString & 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
            
            ' Add the textbox to the Controls collection
            ' of the Placeholder control.
            PlaceHolder1.Controls.Add(ContentsTextBox)

        End Sub

    </script>

</head>
<body>

    <h3>FileUpload.FileContent Property Example</h3>

    <form id="Form1" runat="server">
   
        <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>         
         
    </form>

</body>
</html>

注解

控件 FileUpload 不会自动从客户端读取文件。 必须显式提供控件或机制,以允许用户提交指定的文件。 例如,可以提供一个按钮,用户可以单击该按钮来上传文件。 为保存指定文件而编写的代码可以调用 FileBytes 属性,该属性返回文件的内容。

在调用 属性 FileBytes 之前,应使用 HasFile 属性来验证控件是否 FileUpload 包含要上传的文件。 HasFile如果 返回 true,则调用 FileBytes 属性。 如果返回 false,则向用户显示一条消息,指示控件不包含文件。 如果未提供错误处理代码来验证文件是否存在,则尝试保存不存在的文件将 HttpException 引发异常。

适用于

另请参阅