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 控制項。 當使用者按一下 [Upload檔案] 按鈕時,檔案的內容會顯示為頁面上文字方塊中的位元組。 這個範例會 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 擲回例外狀況。

適用於

另請參閱