Sdílet prostřednictvím


Deklarativní syntaxe serverového ovládacího prvku HtmlInputFile

Vytvoří serverový ovládací prvek, který se mapuje na prvek <input type=file> jazyka HTML a umožňuje nahrání souboru na server.

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

Poznámky

Použití HtmlInputFile řízení proti HTML programu <input type=file> prvku. Můžete použít ovládací prvek HtmlInputFile pro návrh stránky umožňující uživatelům odesílat textové nebo binární soubory z prohlížeče do adresáře, který určíte na vašem webovém serveru. Nahrávání souboru je povoleno ve všech webových prohlížečích HTML 3.2 a novějších.

Příklad

Následující příklad ukazuje jednoduchý scénář nahrávání souboru. První část kódu definuje obslužnou rutinu události stránky. Když uživatel klepne na tlačítko Upload ve formuláři, je na stránce zobrazen název souboru, délka obsahu a množství obsahu (v bajtech), jakmile je soubor nahrán do adresáře UploadedFiles na serveru.

PoznámkaPoznámka

Je nutné nastavit atribut formuláře enctype na "multipart/formulář data".

Kód formuláře implementuje ovládací prvek HtmlForm, ovládací prvek HtmlInputFile, ovládací prvek HtmlInputButton a čtyři HtmlGenericControls (prvek <div> a tři prvky <span>, každý s dvojicí atribut/hodnota runat="server" v jejich otevírací značce).

PoznámkaPoznámka

Chcete-li zobrazit informace o uloženém souboru na stránce, musí být vlastnost Visible, jehož HtmlGenericControl dědí z třídy Control, nastavena na hodnotu true v kódu zpracování události.

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

Viz také

Odkaz

HtmlInputFile

Další zdroje

Serverové ovládací prvky HTML