Share via


Deklarative Syntax des HtmlInputFile-Serversteuerelements

[Dieses Dokument dient lediglich Vorschauzwecken und kann in späteren Versionen geändert werden. Leere Themen sind als Platzhalter enthalten.]

Erstellt ein serverseitiges Steuerelement, das dem <input type=file>-HTML-Element zugeordnet wird und das Hochladen 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 hochladen 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 hochgeladen wird.

Hinweis

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).

Hinweis

Um Informationen über die hochgeladene 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