HtmlInputFile クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サーバーの HTML <input type= file>
要素へのプログラムによるアクセスを可能にします。
public ref class HtmlInputFile : System::Web::UI::HtmlControls::HtmlInputControl, System::Web::UI::IPostBackDataHandler
[System.Web.UI.ValidationProperty("Value")]
public class HtmlInputFile : System.Web.UI.HtmlControls.HtmlInputControl, System.Web.UI.IPostBackDataHandler
[<System.Web.UI.ValidationProperty("Value")>]
type HtmlInputFile = class
inherit HtmlInputControl
interface IPostBackDataHandler
Public Class HtmlInputFile
Inherits HtmlInputControl
Implements IPostBackDataHandler
- 継承
- 属性
- 実装
例
次のコード例では、 コントロールを使用 HtmlInputFile して単純なファイル アップロード シナリオを作成する方法を示します。 この例を正しく機能させるには、コンピューターのドライブ C に という Temp
ディレクトリを作成する必要があります。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlInputFile Example</title>
</head>
<body>
<h3>HtmlInputFile Example</h3>
<form id="form1" 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="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlInputFile Example</title>
</head>
<body>
<h3>HtmlInputFile Example</h3>
<form id="form1" 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>
注釈
サーバー コントロールを HtmlInputFile 使用して、ブラウザー クライアントからサーバーへのバイナリ ファイルまたはテキスト ファイルのアップロードを処理します。 ファイルのアップロードは、Microsoft Internet Explorer バージョン 3.02 以降で動作します。
注意
コントロールは HtmlInputFile ポストバック シナリオでのみ使用するように設計されており、部分ページ レンダリング中の非同期ポストバック シナリオでは使用されません。 コントロール内でコントロールを HtmlInputFile 使用する UpdatePanel 場合は、パネルのオブジェクトであるコントロールを使用してファイルを PostBackTrigger アップロードする必要があります。 UpdatePanel コントロールは、ページ全体をポストバックで更新するのではなく、ページの選択した領域を更新するために使用されます。 詳細については、「 UpdatePanel コントロールの概要 」および「 部分ページ レンダリングの概要」を参照してください。
アップロードするファイルを指定するには、コントロールのテキスト ボックスにファイルの完全なパス ("C:\MyFiles\Test.txt" など) を入力します。 [ 参照 ] ボタンをクリックし、[ファイルの選択] ダイアログ ボックスでファイルを検索して 、ファイルを選択 することもできます。
コントロールには HtmlInputFile 、サーバーにポストバックするための組み込みの方法はありません。 ファイルをサーバーにアップロードするには、 プロパティに SaveAs 含まれる オブジェクトの System.Web.HttpPostedFile メソッドを PostedFile 使用します。 この操作は、通常、ボタン クリックなどのイベント処理メソッドで行われます。
注意
クラスの HttpPostedFile メソッドをSaveAs使用する場合は、ルートパス ("C:\MyFiles\Test.txt" など) を必ず指定してください。 メソッドの動作は、 属性を SaveAs 使用して httpRuntime 要素 (ASP.NET 設定スキーマ) 構成セクションで requireRootedSaveAsPath
指定できます。 この属性の既定値は true
です。 この属性を に false
設定した場合、パスを指定しない メソッドを SaveAs 使用すると、\system32\inetsrv ディレクトリに systemroot
ファイルを配置しようとします。 既定では、このディレクトリは書き込み保護されています。したがって、ファイルをそこに保存することはできません。 ファイルを格納するディレクトリに対して、ASP.NET によって使用されるアカウントの書き込みアクセス許可を必ず指定してください。
大きなファイルをアップロードする場合は、httpRuntime 要素 (ASP.NET 設定スキーマ) 要素の 属性を使用maxRequestLength
して、許容される最大ファイル サイズを増やします。 ファイルが指定したサイズを超えると、ブラウザーで DNS エラーが生成されます。 大きなファイルをアップロードするときに、次のエラー メッセージが表示される場合もあります。
メモリ消費量が 460 MB (使用可能な RAM の 60%) を超えたため、aspnet_wp.exe (PID: 1520) がリサイクルされました。
このエラー メッセージが表示された場合は、Machine.config ファイルの memoryLimit
processModel 要素 (ASP.NET Settings Schema) 要素の 属性の値を大きくします。
のインスタンスの初期プロパティ値の HtmlInputFile一覧については、 コンストラクターを HtmlInputFile 参照してください。
コンストラクター
HtmlInputFile() |
HtmlInputFile クラスの新しいインスタンスを初期化します。 |
プロパティ
Accept |
ユーザーが選択できるファイルの種類を制限するために使用する、コンマ区切りの MIME エンコーディング リストを取得または設定します。 |
Adapter |
コントロール用のブラウザー固有のアダプターを取得します。 (継承元 Control) |
AppRelativeTemplateSourceDirectory |
このコントロールが含まれている Page オブジェクトまたは UserControl オブジェクトのアプリケーション相対の仮想ディレクトリを取得または設定します。 (継承元 Control) |
Attributes |
ASP.NET ページ内にある、サーバー コントロール タグで表現されるすべての属性名/値ペアのコレクションを取得します。 (継承元 HtmlControl) |
BindingContainer |
このコントロールのデータ バインディングを格納しているコントロールを取得します。 (継承元 Control) |
ChildControlsCreated |
サーバー コントロールの子コントロールが作成されたかどうかを示す値を取得します。 (継承元 Control) |
ClientID |
ASP.NET によって生成される HTML マークアップのコントロール ID を取得します。 (継承元 Control) |
ClientIDMode |
ClientID プロパティの値を生成するために使用されるアルゴリズムを取得または設定します。 (継承元 Control) |
ClientIDSeparator |
ClientID プロパティで使用される区切り記号を表す文字値を取得します。 (継承元 Control) |
Context |
現在の Web 要求に対するサーバー コントロールに関連付けられている HttpContext オブジェクトを取得します。 (継承元 Control) |
Controls |
UI 階層内の指定されたサーバー コントロールの子コントロールを表す ControlCollection オブジェクトを取得します。 (継承元 Control) |
DataItemContainer |
名前付けコンテナーが IDataItemContainer を実装している場合、名前付けコンテナーへの参照を取得します。 (継承元 Control) |
DataKeysContainer |
名前付けコンテナーが IDataKeysControl を実装している場合、名前付けコンテナーへの参照を取得します。 (継承元 Control) |
DesignMode |
コントロールがデザイン サーフェイスで使用されているかどうかを示す値を取得します。 (継承元 Control) |
Disabled |
HTML サーバー コントロールが無効かどうかを示す値を、取得または設定します。 (継承元 HtmlControl) |
EnableTheming |
テーマがこのコントロールに適用されるかどうかを示す値を取得または設定します。 (継承元 Control) |
EnableViewState |
要求元クライアントに対して、サーバー コントロールがそのビュー状態と、そこに含まれる任意の子のコントロールのビュー状態を保持するかどうかを示す値を取得または設定します。 (継承元 Control) |
Events |
コントロールのイベント ハンドラー デリゲートのリストを取得します。 このプロパティは読み取り専用です。 (継承元 Control) |
HasChildViewState |
現在のサーバー コントロールの子コントロールが、保存されたビューステートの設定を持っているかどうかを示す値を取得します。 (継承元 Control) |
ID |
サーバー コントロールに割り当てられたプログラム ID を取得または設定します。 (継承元 Control) |
IdSeparator |
コントロール ID を区別するために使用する文字を取得します。 (継承元 Control) |
IsChildControlStateCleared |
このコントロールに含まれているコントロールに、コントロールの状態が設定されているかどうかを示す値を取得します。 (継承元 Control) |
IsTrackingViewState |
サーバー コントロールがビューステートの変更を保存しているかどうかを示す値を取得します。 (継承元 Control) |
IsViewStateEnabled |
このコントロールでビューステートが有効かどうかを示す値を取得します。 (継承元 Control) |
LoadViewStateByID |
コントロールがインデックスではなく ID によりビューステートの読み込みを行うかどうかを示す値を取得します。 (継承元 Control) |
MaxLength |
クライアントのコンピューターでアップロードするファイルのファイル パスの最大長を取得または設定します。 |
Name |
HtmlInputControl コントロールの一意の識別名を取得または設定します。 (継承元 HtmlInputControl) |
NamingContainer |
同じ ID プロパティ値を持つ複数のサーバー コントロールを区別するための一意の名前空間を作成する、サーバー コントロールの名前付けコンテナーへの参照を取得します。 (継承元 Control) |
Page |
サーバー コントロールを含んでいる Page インスタンスへの参照を取得します。 (継承元 Control) |
Parent |
ページ コントロールの階層構造における、サーバー コントロールの親コントロールへの参照を取得します。 (継承元 Control) |
PostedFile |
クライアントが指定したアップロード ファイルへのアクセスを取得します。 |
RenderingCompatibility |
レンダリングされる HTML と互換性がある ASP.NET のバージョンを表す値を取得します。 (継承元 Control) |
Site |
デザイン サーフェイスに現在のコントロールを表示するときに、このコントロールをホストするコンテナーに関する情報を取得します。 (継承元 Control) |
Size |
ファイル パスが入力されるテキスト ボックスの幅を取得または設定します。 |
SkinID |
コントロールに適用するスキンを取得または設定します。 (継承元 Control) |
Style |
ASP.NET ファイル内で指定された HTML サーバー コントロールに適用されるすべてのカスケード スタイル シート (CSS: Cascading Style Sheet) プロパティのコレクションを取得します。 (継承元 HtmlControl) |
TagName |
|
TemplateControl |
このコントロールを格納しているテンプレートへの参照を取得または設定します。 (継承元 Control) |
TemplateSourceDirectory |
現在のサーバー コントロールを格納している Page または UserControl の仮想ディレクトリを取得します。 (継承元 Control) |
Type |
HtmlInputControl のタイプを取得します。 (継承元 HtmlInputControl) |
UniqueID |
階層構造で修飾されたサーバー コントロールの一意の ID を取得します。 (継承元 Control) |
ValidateRequestMode |
ブラウザーからのクライアント入力の安全性をコントロールで調べるかどうかを示す値を取得または設定します。 (継承元 Control) |
Value |
クライアントのコンピューター上のファイルの完全パスを取得します。 |
ViewState |
同一のページに対する複数の要求にわたって、サーバー コントロールのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。 (継承元 Control) |
ViewStateIgnoresCase |
HtmlControl ビューステートが大文字小文字を区別するかどうかを示す値を取得します。 (継承元 HtmlControl) |
ViewStateMode |
このコントロールのビューステート モードを取得または設定します。 (継承元 Control) |
Visible |
サーバー コントロールがページ上の UI としてレンダリングされているかどうかを示す値を取得または設定します。 (継承元 Control) |
メソッド
AddedControl(Control, Int32) |
子コントロールが Control オブジェクトの Controls コレクションに追加された後に呼び出されます。 (継承元 Control) |
AddParsedSubObject(Object) |
XML または HTML のいずれかの要素が解析されたことをサーバー コントロールに通知し、サーバー コントロールの ControlCollection オブジェクトに要素を追加します。 (継承元 Control) |
ApplyStyleSheetSkin(Page) |
ページのスタイル シートに定義されたスタイル プロパティをコントロールに適用します。 (継承元 Control) |
BeginRenderTracing(TextWriter, Object) |
レンダリング データのデザイン時のトレースを開始します。 (継承元 Control) |
BuildProfileTree(String, Boolean) |
ページのトレースが有効な場合、サーバー コントロールに関する情報を収集し、これを表示するために Trace プロパティに渡します。 (継承元 Control) |
ClearCachedClientID() |
キャッシュされた ClientID 値を |
ClearChildControlState() |
サーバー コントロールのすべての子コントロールについて、コントロールの状態情報を削除します。 (継承元 Control) |
ClearChildState() |
サーバー コントロールのすべての子コントロールのビューステート情報およびコントロールの状態情報を削除します。 (継承元 Control) |
ClearChildViewState() |
サーバー コントロールのすべての子コントロールのビューステート情報を削除します。 (継承元 Control) |
ClearEffectiveClientIDMode() |
現在のコントロール インスタンスおよびすべての子コントロールの ClientIDMode プロパティを Inherit に設定します。 (継承元 Control) |
CreateChildControls() |
ASP.NET ページ フレームワークによって呼び出され、ポストバックまたはレンダリングの準備として、合成ベースの実装を使うサーバー コントロールに対し、それらのコントロールに含まれる子コントロールを作成するように通知します。 (継承元 Control) |
CreateControlCollection() |
サーバー コントロールの子コントロール (リテラルとサーバーの両方) を保持する新しい ControlCollection オブジェクトを作成します。 (継承元 HtmlControl) |
DataBind() |
呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。 (継承元 Control) |
DataBind(Boolean) |
DataBinding イベントを発生させるオプションを指定して、呼び出されたサーバー コントロールとそのすべての子コントロールにデータ ソースをバインドします。 (継承元 Control) |
DataBindChildren() |
データ ソースをサーバー コントロールの子コントロールにバインドします。 (継承元 Control) |
Dispose() |
サーバー コントロールが、メモリから解放される前に最終的なクリーンアップを実行できるようにします。 (継承元 Control) |
EndRenderTracing(TextWriter, Object) |
レンダリング データのデザイン時のトレースを終了します。 (継承元 Control) |
EnsureChildControls() |
サーバー コントロールに子コントロールが含まれているかどうかを確認します。 含まれていない場合、子コントロールを作成します。 (継承元 Control) |
EnsureID() |
ID が割り当てられていないコントロールの ID を作成します。 (継承元 Control) |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
FindControl(String) |
指定した |
FindControl(String, Int32) |
指定した |
Focus() |
コントロールに入力フォーカスを設定します。 (継承元 Control) |
GetAttribute(String) |
HtmlControl コントロールの名前付き属性の値を取得します。 (継承元 HtmlControl) |
GetDesignModeState() |
コントロールのデザイン時データを取得します。 (継承元 Control) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetRouteUrl(Object) |
ルート パラメーターのセットに対応する URL を取得します。 (継承元 Control) |
GetRouteUrl(RouteValueDictionary) |
ルート パラメーターのセットに対応する URL を取得します。 (継承元 Control) |
GetRouteUrl(String, Object) |
ルート パラメーターのセットおよびルート名に対応する URL を取得します。 (継承元 Control) |
GetRouteUrl(String, RouteValueDictionary) |
ルート パラメーターのセットおよびルート名に対応する URL を取得します。 (継承元 Control) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
GetUniqueIDRelativeTo(Control) |
指定されたコントロールの UniqueID プロパティのプレフィックス部分を返します。 (継承元 Control) |
HasControls() |
サーバー コントロールに子コントロールが含まれているかどうかを確認します。 (継承元 Control) |
HasEvents() |
コントロールまたは子コントロールに対してイベントが登録されているかどうかを示す値を返します。 (継承元 Control) |
IsLiteralContent() |
サーバー コントロールがリテラルな内容だけを保持しているかどうかを決定します。 (継承元 Control) |
LoadControlState(Object) |
SaveControlState() メソッドによって保存された前回のページ要求からコントロールの状態情報を復元します。 (継承元 Control) |
LoadPostData(String, NameValueCollection) |
HtmlInputFile コントロールのポストバック データを処理します。 |
LoadViewState(Object) |
SaveViewState() メソッドによって保存された前回のページ要求からビューステート情報を復元します。 (継承元 Control) |
MapPathSecure(String) |
仮想パス (絶対パスまたは相対パス) の割り当て先の物理パスを取得します。 (継承元 Control) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
OnBubbleEvent(Object, EventArgs) |
サーバー コントロールのイベントをページの UI サーバー コントロールの階層構造に渡すかどうかを決定します。 (継承元 Control) |
OnDataBinding(EventArgs) |
DataBinding イベントを発生させます。 (継承元 Control) |
OnInit(EventArgs) |
Init イベントを発生させます。 (継承元 Control) |
OnLoad(EventArgs) |
Load イベントを発生させます。 (継承元 Control) |
OnPreRender(EventArgs) |
HtmlInputFile コントロールの PreRender イベントを発生させます。 |
OnUnload(EventArgs) |
Unload イベントを発生させます。 (継承元 Control) |
OpenFile(String) |
ファイルの読み込みで使用される Stream を取得します。 (継承元 Control) |
RaiseBubbleEvent(Object, EventArgs) |
イベントのソースおよびその情報をコントロールの親に割り当てます。 (継承元 Control) |
RaisePostDataChangedEvent() |
HtmlInputFile コントロールの状態が変化したことをコントロールに通知します。 |
RemovedControl(Control) |
Control オブジェクトの Controls コレクションから子コントロールが削除された後に呼び出されます。 (継承元 Control) |
Render(HtmlTextWriter) |
クライアントに表示する内容を指定された HtmlTextWriter オブジェクトに書き込みます。 (継承元 HtmlControl) |
RenderAttributes(HtmlTextWriter) |
指定した HtmlInputControl オブジェクトに、HtmlTextWriter コントロールの属性をレンダリングします。 (継承元 HtmlInputControl) |
RenderBeginTag(HtmlTextWriter) |
コントロールの HTML の開始タグを指定した HtmlTextWriter オブジェクトに表示します。 (継承元 HtmlControl) |
RenderChildren(HtmlTextWriter) |
提供された HtmlTextWriter オブジェクトに対してサーバー コントロールの子のコンテンツを出力すると、クライアントで表示されるコンテンツが記述されます。 (継承元 Control) |
RenderControl(HtmlTextWriter) |
指定の HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を保存します。 (継承元 Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
指定した ControlAdapter オブジェクトを使用して、指定した HtmlTextWriter オブジェクトにサーバー コントロールの内容を出力します。 (継承元 Control) |
ResolveAdapter() |
指定したコントロールを表示するコントロール アダプターを取得します。 (継承元 Control) |
ResolveClientUrl(String) |
ブラウザーで使用できる URL を取得します。 (継承元 Control) |
ResolveUrl(String) |
要求側クライアントで使用できる URL に変換します。 (継承元 Control) |
SaveControlState() |
ページがサーバーにポスト バックされた時間以降に発生したすべてのサーバー コントロール状態の変化を保存します。 (継承元 Control) |
SaveViewState() |
ページがサーバーにポスト バックされた時間以降に発生した、サーバー コントロールのビューステートの変更を保存します。 (継承元 Control) |
SetAttribute(String, String) |
HtmlControl コントロールの名前付き属性の値を設定します。 (継承元 HtmlControl) |
SetDesignModeState(IDictionary) |
コントロールのデザイン時データを設定します。 (継承元 Control) |
SetRenderMethodDelegate(RenderMethod) |
サーバー コントロールとその内容を親コントロールに表示するイベント ハンドラー デリゲートを割り当てます。 (継承元 Control) |
SetTraceData(Object, Object) |
トレース データ キーとトレース データ値を使用して、レンダリング データのデザイン時トレースのトレース データを設定します。 (継承元 Control) |
SetTraceData(Object, Object, Object) |
トレースされたオブジェクト、トレース データ キー、およびトレース データ値を使用して、レンダリング データのデザイン時トレースのトレース データを設定します。 (継承元 Control) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
TrackViewState() |
サーバー コントロールにビューステートの変更を追跡させ、サーバー コントロールの StateBag オブジェクトに変更を格納できるようにします。 このオブジェクトは、ViewState プロパティによってアクセスできます。 (継承元 Control) |
イベント
DataBinding |
サーバー コントロールがデータ ソースに連結すると発生します。 (継承元 Control) |
Disposed |
サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。 (継承元 Control) |
Init |
サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。 (継承元 Control) |
Load |
サーバー コントロールが Page オブジェクトに読み込まれると発生します。 (継承元 Control) |
PreRender |
Control オブジェクトの読み込み後、表示を開始する前に発生します。 (継承元 Control) |
Unload |
サーバー コントロールがメモリからアンロードされると発生します。 (継承元 Control) |
明示的なインターフェイスの実装
拡張メソッド
FindDataSourceControl(Control) |
指定されたコントロールのデータ コントロールに関連付けられているデータ ソースを返します。 |
FindFieldTemplate(Control, String) |
指定されたコントロールの名前付けコンテナー内にある、指定された列のフィールド テンプレートを返します。 |
FindMetaTable(Control) |
格納しているデータ コントロールのメタテーブル オブジェクトを返します。 |
適用対象
こちらもご覧ください
.NET