FileUpload.FileBytes プロパティ
アセンブリ: System.Web (system.web.dll 内)

[BindableAttribute(true)] public: property array<unsigned char>^ FileBytes { array<unsigned char>^ get (); }
指定したファイルの内容を格納する Byte 配列。


FileUpload コントロールは、クライアントからファイルを自動的に読み取りません。指定したファイルをユーザーが送信できるようにするコントロールまたはメカニズムを明示的に指定する必要があります。たとえば、ユーザーがクリックするとファイルがアップロードされるようなボタンを指定します。指定したファイルを保存するために記述したコードで FileBytes プロパティを呼び出し、ファイルの内容を返します。
FileBytes プロパティを呼び出す前に、HasFile プロパティを使用して、アップロードするファイルが FileUpload コントロールに格納されていることを確認する必要があります。HasFile によって true が返される場合、FileBytes プロパティを呼び出します。false が返される場合、コントロールにファイルが格納されていないことを示すメッセージがユーザーに表示されます。ファイルが存在することを確認するエラー処理コードを指定していない場合、存在しないファイルを保存しようとすると、HttpException 例外がスローされます。

FileUpload コントロールを作成する方法を次のコード例に示します。ユーザーが [Upload file] ボタンをクリックすると、ファイルの内容がページのテキスト ボックスにバイトとして表示されます。この例では FileBytes プロパティを使用して、ファイル全体をアップロードします。
<%@ Page Language="VB" %> <html> <head> <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 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) 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>
<%@ Page Language="C#" %> <html> <head> <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]; input = FileUpload1.FileBytes; // Copy the byte array to a string. for (int loop1 = 0; loop1 <= fileLen - 1; 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 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>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からFileUpload.FileBytes プロパティを検索する場合は、下記のリンクをクリックしてください。

- FileUpload.FileBytes プロパティのページへのリンク