HtmlInputFile サーバー コントロール宣言構文
<input type=file> HTML 要素に割り当てるサーバー側のコントロールを作成し、サーバーにファイルをアップロードできるようにします。
<input
Type="File"
EnableViewState="False|True"
Id="string"
Visible="False|True"
OnDataBinding="OnDataBinding event handler"
OnDisposed="OnDisposed event handler"
OnInit="OnInit event handler"
OnLoad="OnLoad event handler"
OnPreRender="OnPreRender event handler"
OnUnload="OnUnload event handler"
runat="server"
/>
解説
HtmlInputFile コントロールを使用して、<input type=file> HTML 要素をプログラムで制御します。 HtmlInputFile コントロールを使用すると、ユーザーがバイナリ ファイルまたはテキスト ファイルをブラウザーから Web サーバー上の指定されたディレクトリにアップロードできるページを設計できます。 ファイル アップロードは、HTML 3.2 以降のすべての Web ブラウザーで使用できます。
使用例
単純なファイル アップロードの例を示します。 コードの最初のセクションで、ページのイベント ハンドラーを定義します。 ユーザーがフォームの Upload ボタンをクリックすると、ファイル名、コンテンツの長さ、およびコンテンツの容量 (バイト数) がページに表示されます。ファイルそのものは、サーバーの UploadedFiles ディレクトリにアップロードされます。
メモ |
---|
フォームの enctype 属性を "multipart/form-data" に設定する必要があります。 |
フォームのコードは、HtmlForm コントロール、HtmlInputFile コントロール、HtmlInputButton コントロール、4 つの HtmlGenericControls (<div> 要素と 3 つの <span> 要素。それぞれ開いているタグ内に runat="server" 属性と値のペアが含まれています) を実装します。
メモ |
---|
アップロードされたファイルについての情報をページ上に表示するには、HtmlGenericControl が Control クラスから継承する Visible プロパティを、イベント ハンドラー コードで true に設定する必要があります。 |
<%@ 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlInputFile Control</title>
</head>
<script runat="server">
Sub UploadBtn_Click(Sender as Object, e as EventArgs)
' Display information about posted file
FileName.InnerHtml = MyFile.PostedFile.FileName
MyContentType.InnerHtml = MyFile.PostedFile.ContentType
ContentLength.InnerHtml = cStr(MyFile.PostedFile.ContentLength)
FileDetails.Visible = True
' Save uploaded file to server
MyFile.PostedFile.SaveAs("c:\Uploadedfiles\uploadfile.txt")
End Sub
</script>
<body>
<form id="Form1" action="fileupload.aspx"
method="post"
enctype="multipart/form-data"
runat="server">
<h1>ASP.NET File Upload Example</h1>
Select File To Upload to Server:
<input id="MyFile"
type="file"
runat="server" />
<br /><br />
<input id="Submit1" type="submit"
value="Upload!"
onserverclick="UploadBtn_Click"
runat="server" />
<br /><br /><br />
<div id="FileDetails"
visible="false"
runat="server">
FileName: <span id="FileName" runat="server"/> <br />
ContentType: <span id="MyContentType" runat="server"/> <br />
ContentLength: <span id="ContentLength" runat="server"/>bytes
<br />
</div>
</form>
</body>
</html>
<%@ 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlInputFile Control</title>
</head>
<script runat="server">
void UploadBtn_Click(Object sender, EventArgs e)
{
// Display information about posted file
FileName.InnerHtml = MyFile.PostedFile.FileName;
MyContentType.InnerHtml = MyFile.PostedFile.ContentType;
ContentLength.InnerHtml =
MyFile.PostedFile.ContentLength.ToString();
FileDetails.Visible = true;
// Save uploaded file to server
MyFile.PostedFile.SaveAs("c:\\Uploadedfiles\\uploadfile.txt");
}
</script>
<body>
<form id="Form1" action="fileupload.aspx"
method="post"
enctype="multipart/form-data"
runat="server">
<h1>ASP.NET File Upload Example</h1>
Select File To Upload to Server:
<input id="MyFile"
type="file"
runat="server" />
<br /><br />
<input id="Submit1" type="submit"
value="Upload!"
onserverclick="UploadBtn_Click"
runat="server" />
<br /><br /><br />
<div id="FileDetails"
visible="false"
runat="server">
FileName: <span id="FileName" runat="server"/> <br />
ContentType: <span id="MyContentType" runat="server"/> <br />
ContentLength: <span id="ContentLength" runat="server"/>bytes
<br />
</div>
</form>
</body>
</html>