HtmlInputFile イベント

名前 | 説明 | |
---|---|---|
![]() | DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。 ( Control から継承されます。) |
![]() | Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。 ( Control から継承されます。) |
![]() | Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。 ( Control から継承されます。) |
![]() | Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。 ( Control から継承されます。) |
![]() | PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。 ( Control から継承されます。) |
![]() | Unload | サーバー コントロールがメモリからアンロードされると発生します。 ( Control から継承されます。) |

HtmlInputFile クラス
アセンブリ: System.Web (system.web.dll 内)

<ValidationPropertyAttribute("Value")> _ Public Class HtmlInputFile Inherits HtmlInputControl Implements IPostBackDataHandler
[ValidationPropertyAttribute("Value")] public class HtmlInputFile : HtmlInputControl, IPostBackDataHandler
[ValidationPropertyAttribute(L"Value")] public ref class HtmlInputFile : public HtmlInputControl, IPostBackDataHandler

HtmlInputFile サーバー コントロールを使用して、ブラウザ クライアントからサーバーへのバイナリ ファイルまたはテキスト ファイルのアップロードを処理します。ファイルのアップロードは、Microsoft Internet Explorer Version 3.02 以降で機能します。
![]() |
---|
このコントロールは、HtmlForm コントロールの Enctype プロパティを "multipart/form-data" に設定しないと正しく動作しません。 |
ファイルをアップロードするように指定するには、コントロールのテキスト ボックスにファイルへの完全パス ("C:\MyFiles\Test.txt" など) を入力します。[参照] ボタンをクリックし、[ファイルの選択] ダイアログ ボックスでそのファイルを検索して選択することもできます。
HtmlInputFile コントロールには、サーバーへのポストバックの手段は組み込まれていません。サーバーにファイルをアップロードするには、PostedFile プロパティに格納されている System.Web.HttpPostedFile オブジェクトの SaveAs メソッドを使用します。この操作は、通常は、クリックなどのイベント処理メソッドで実行されます。
![]() |
---|
HttpPostedFile クラスの SaveAs メソッドを使用するときは、必ずルートされたパス ("C:\MyFiles\Test.txt" など) を指定します。SaveAs メソッドは、httpRuntime 要素 (ASP.NET 設定スキーマ) 構成セクションの requireRootedSaveAsPath 属性で指定できます。この属性の既定値は true です。この属性に false を設定し、パスを指定せずに SaveAs メソッドを使用すると、systemroot \system32\inetsrv ディレクトリへのファイルの配置が試行されます。既定では、このディレクトリは書き込み保護されているため、その場所にはファイルを保存できません。ファイルを格納するディレクトリに対する書き込みアクセス許可を、ASP.NET が使用するアカウントに付与します。 |
大きなファイルをアップロードしているときは、httpRuntime 要素 (ASP.NET 設定スキーマ) 要素の maxRequestLength 属性を使用して最大許容ファイル サイズを大きくします。ファイルが指定サイズ超えると、ブラウザで DNS エラーが発生します。また、大きなファイルのアップロード中、次のエラー メッセージが表示されることもあります。
"メモリ使用が 460 MB (使用可能 RAM の 60 パーセント) を超えたため、aspnet_wp.exe (PID: 1520) が繰り返されました。"
このエラー メッセージが表示されたら、Machine.config ファイルの processModel 要素 (ASP.NET 設定スキーマ) 要素の memoryLimit 属性の値を大きくします。
HtmlInputFile のインスタンスの初期プロパティ値の一覧については、HtmlInputFile コンストラクタのトピックを参照してください。

HtmlInputFile コントロールを使用して、単純なファイル アップロードを処理する方法を次のコード例に示します。この例を正常に動作させるには、コンピュータの C: ドライブに Temp というディレクトリを作成する必要があります。
<%@ Page Language="VB" AutoEventWireup="True" %> <script runat="server"> Sub Button1_Click(ByVal Source As Object, ByVal e As EventArgs) If Text1.Value = "" Then Span1.InnerHtml = "Error: You must enter a file name." Return End If If File1.PostedFile.ContentLength > 0 Then Try File1.PostedFile.SaveAs(("c:\temp\" & Text1.Value)) Span1.InnerHtml = "File uploaded successfully to <b>c:\temp\" & _ Text1.Value & "</b> on the Web server." Catch exc As Exception Span1.InnerHtml = "Error saving file <b>c:\temp\" & _ Text1.Value & "</b><br>" & exc.ToString() & "." End Try End If End Sub </script> <html> <head> <title>HtmlInputFile Example</title> </head> <body> <h3>HtmlInputFile Example</h3> <form enctype="multipart/form-data" runat="server"> Select File to Upload: <input id="File1" type="file" runat="server"> <p> Save as file name (no path): <input id="Text1" type="text" runat="server"> </p> <p> <span id=Span1 style="font: 8pt verdana;" runat="server" /> </p> <p> <input type=button id="Button1" value="Upload" onserverclick="Button1_Click" runat="server"> </p> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <script runat="server"> void Button1_Click(object Source, EventArgs e) { if (Text1.Value == "") { Span1.InnerHtml = "Error: You must enter a file name."; return; } if (File1.PostedFile.ContentLength > 0) { try { File1.PostedFile.SaveAs("c:\\temp\\" + Text1.Value); Span1.InnerHtml = "File uploaded successfully to <b>c:\\temp\\" + Text1.Value + "</b> on the Web server."; } catch (Exception exc) { Span1.InnerHtml = "Error saving file <b>c:\\temp\\" + Text1.Value + "</b><br>" + exc.ToString() + "."; } } } </script> <html> <head> <title>HtmlInputFile Example</title> </head> <body> <h3>HtmlInputFile Example</h3> <form enctype="multipart/form-data" runat="server"> Select File to Upload: <input id="File1" type="file" runat="server"> <p> Save as file name (no path): <input id="Text1" type="text" runat="server"> </p> <p> <span id=Span1 style="font: 8pt verdana;" runat="server" /> </p> <p> <input type=button id="Button1" value="Upload" onserverclick="Button1_Click" runat="server"> </p> </form> </body> </html>
<%@ Page Language="JScript" AutoEventWireup="True" %> <script runat="server"> function Button1_Click(source : Object, e : EventArgs){ if(Text1.Value == ""){ Span1.InnerHtml = "Error: You must enter a file name." return } if(File1.PostedFile.ContentLength > 0){ try { File1.PostedFile.SaveAs(("c:\\temp\\" + Text1.Value)) Span1.InnerHtml = "File uploaded successfully to <b>c:\\temp\\" + Text1.Value + "</b> on the Web server." } catch(exc : Exception) { Span1.InnerHtml = "Error saving file <b>c:\\temp\\" + Text1.Value + "</b><br>" + exc.ToString() + "." } } } </script> <html> <head> <title>HtmlInputFile Example</title> </head> <body> <h3>HtmlInputFile Example</h3> <form enctype="multipart/form-data" runat="server"> Select File to Upload: <input id="File1" type="file" runat="server"> <p> Save as file name (no path): <input id="Text1" type="text" runat="server"> </p> <p> <span id=Span1 style="font: 8pt verdana;" runat="server" /> </p> <p> <input type=button id="Button1" value="Upload" onserverclick="Button1_Click" runat="server"> </p> </form> </body> </html>


System.Web.UI.Control
System.Web.UI.HtmlControls.HtmlControl
System.Web.UI.HtmlControls.HtmlInputControl
System.Web.UI.HtmlControls.HtmlInputFile


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


HtmlInputFile コンストラクタ
アセンブリ: System.Web (system.web.dll 内)



HtmlInputFile クラスの新しいインスタンスを作成する方法を次のコード例に示します。この例を正常に動作させるには、コンピュータの C: ドライブに Temp というディレクトリを作成する必要があります。
<%@ Page Language="VB" AutoEventWireup="True" %> <script runat="server"> Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) ' Get HtmlInputFile control from the Controls collection ' of the PlaceHolder control. Dim file As HtmlInputFile = _ CType(Place.FindControl("File1"), HtmlInputFile) ' Make sure a file was submitted. If Text1.Value = "" Then Span1.InnerHtml = "Error: You must enter a file name." Return End If ' Save the file. If file.PostedFile.ContentLength > 0 Then Try file.PostedFile.SaveAs(("c:\temp\" & Text1.Value)) Span1.InnerHtml = "File uploaded successfully to " & _ "<b>c:\temp\" & Text1.Value & "</b> on the Web server." Catch exc As Exception Span1.InnerHtml = "Error saving file <b>c:\temp\" & _ Text1.Value & "</b><br>" & exc.ToString() & "." End Try End If End Sub Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) ' Create a new HtmlInputFile control. Dim file As HtmlInputFile = New HtmlInputFile() file.ID = "File1" ' Add the control to the Controls collection of the ' PlaceHolder control. Place.Controls.Clear() Place.Controls.Add(file) End Sub </script> <html> <head> <title>HtmlInputFile Constructor Example</title> </head> <body> <h3>HtmlInputFile Constructor Example</h3> <form enctype="multipart/form-data" runat="server"> Specify the file to upload: <asp:PlaceHolder id="Place" runat="server"/> <p> Save as file name (no path): <input id="Text1" type="text" runat="server"> </p> <p> <span id=Span1 style="font: 8pt verdana;" runat="server" /> </p> <p> <input type=button id="Button1" value="Upload" onserverclick="Button1_Click" runat="server"> </p> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <script runat="server"> void Button1_Click(object sender, EventArgs e) { // Get the HtmlInputFile control from the Controls collection // of the PlaceHolder control. HtmlInputFile file = (HtmlInputFile)Place.FindControl("File1"); // Make sure a file was submitted. if (Text1.Value == "") { Span1.InnerHtml = "Error: You must enter a file name."; return; } // Save the file. if (file.PostedFile.ContentLength > 0) { try { file.PostedFile.SaveAs("c:\\temp\\" + Text1.Value); Span1.InnerHtml = "File uploaded successfully to " + "<b>c:\\temp\\" + Text1.Value + "</b> on the Web server."; } catch (Exception exc) { Span1.InnerHtml = "Error saving file <b>c:\\temp\\" + Text1.Value + "</b><br>" + exc.ToString() + "."; } } } void Page_Load(object sender, EventArgs e) { // Create a new HtmlInputFile control. HtmlInputFile file = new HtmlInputFile(); file.ID = "File1"; // Add the control to the Controls collection of the // PlaceHolder control. Place.Controls.Clear(); Place.Controls.Add(file); } </script> <html> <head> <title>HtmlInputFile Constructor Example</title> </head> <body> <h3>HtmlInputFile Constructor Example</h3> <form enctype="multipart/form-data" runat="server"> Specify the file to upload: <asp:PlaceHolder id="Place" runat="server"/> <p> Save as file name (no path): <input id="Text1" type="text" runat="server"> </p> <p> <span id=Span1 style="font: 8pt verdana;" runat="server" /> </p> <p> <input type=button id="Button1" value="Upload" onserverclick="Button1_Click" runat="server"> </p> </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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


HtmlInputFile プロパティ



HtmlInputFile メソッド



名前 | 説明 | |
---|---|---|
![]() | System.Web.UI.IPostBackDataHandler.LoadPostData | このメンバの説明については、IPostBackDataHandler.LoadPostData のトピックを参照してください。 |
![]() | System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent | このメンバの説明については、IPostBackDataHandler.RaisePostDataChangedEvent のトピックを参照してください。 |

HtmlInputFile メンバ
サーバーの HTML <input type= file> 要素へのプログラムによるアクセスを許可します。
HtmlInputFile データ型で公開されるメンバを以下の表に示します。






名前 | 説明 | |
---|---|---|
![]() | DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。(Control から継承されます。) |
![]() | Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。(Control から継承されます。) |
![]() | Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。(Control から継承されます。) |
![]() | Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。(Control から継承されます。) |
![]() | PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。(Control から継承されます。) |
![]() | Unload | サーバー コントロールがメモリからアンロードされると発生します。(Control から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | System.Web.UI.IPostBackDataHandler.LoadPostData | このメンバの説明については、IPostBackDataHandler.LoadPostData のトピックを参照してください。 |
![]() | System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent | このメンバの説明については、IPostBackDataHandler.RaisePostDataChangedEvent のトピックを参照してください。 |

Weblioに収録されているすべての辞書からHtmlInputFileを検索する場合は、下記のリンクをクリックしてください。

- HtmlInputFileのページへのリンク