次の方法で共有


HtmlInputFile サーバー コントロール宣言構文

更新 : 2007 年 11 月

<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 ディレクトリにアップロードされます。

1s43z4wk.alert_note(ja-jp,VS.90).gifメモ :

フォームの enctype 属性を "multipart/form-data" に設定する必要があります。

フォームのコードは、HtmlForm コントロール、HtmlInputFile コントロール、HtmlInputButton コントロール、4 つの HtmlGenericControls (<div> 要素と 3 つの <span> 要素。それぞれ開いているタグ内に runat="server" 属性と値のペアが含まれています) を実装します。

1s43z4wk.alert_note(ja-jp,VS.90).gifメモ :

アップロードされたファイルについての情報をページ上に表示するには、HtmlGenericControlControl クラスから継承する 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>

参照

参照

HtmlInputFile

その他の技術情報

HTML サーバー コントロール