Freigeben über


Deklarative Syntax des HtmlInputFile-Serversteuerelements

Aktualisiert: November 2007

Erstellt ein serverseitiges Steuerelement, das dem <input type=file>-HTML-Element zugeordnet wird und das Uploaden einer Datei auf den Server ermöglicht.

<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"
    />

Hinweise

Verwenden Sie das HtmlInputFile-Steuerelement, um das <input type=file>-HTML-Element zu programmieren. Mit dem HtmlInputFile-Steuerelement können Sie auf einfache Weise eine Seite entwerfen, auf der Benutzer binäre Dateien oder Textdateien aus einem Browser in ein dafür vorgesehenes Verzeichnis auf dem Webserver uploaden können. Dateiuploads werden von allen Webbrowsern mit HTML 3.2 oder höher unterstützt.

Beispiel

Das folgende Beispiel zeigt einen einfachen Dateiupload. Der erste Codeabschnitt definiert den Ereignishandler für die Seite. Wenn der Benutzer auf die Upload-Schaltfläche im Formular klickt, werden der Dateiname, die Länge des Inhalts und die Größe des Inhalts in Bytes auf der Seite angezeigt, während die eigentliche Datei in das UploadedFiles-Verzeichnis auf dem Server geuploadet wird.

Tipp

Das enctype-Attribut des Formulars muss auf "multipart/form-data" festgelegt werden.

Der Code für das Formular implementiert ein HtmlForm-Steuerelement, ein HtmlInputFile-Steuerelement, ein HtmlInputButton-Steuerelement sowie vier HtmlGenericControls (das <div>-Element und die drei <span>-Elemente, die allesamt runat="server"-Attribut-Wert-Paare im Starttag enthalten).

Tipp

Um Informationen über die geuploadete Datei auf der Seite anzuzeigen, muss die Visible-Eigenschaft, die das HtmlGenericControl von der Control-Klasse erbt, im Ereignishandlercode auf true festgelegt werden.

<%@ 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>

Siehe auch

Referenz

HtmlInputFile

Weitere Ressourcen

HTML-Serversteuerelemente