Partager via


Syntaxe déclarative du contrôle serveur HtmlInputFile

Crée un contrôle côté serveur mappé à l'élément HTML <input type=file> et permet de télécharger un fichier sur le serveur.

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

Notes

Utilisez le contrôle HtmlInputFile pour programmer en vous servant de l'élément <input type=file> HTML. Vous pouvez utiliser le contrôle HtmlInputFile pour concevoir une page qui permet aux utilisateurs de télécharger des fichiers texte ou binaires à partir d'un navigateur vers un répertoire donné de votre serveur Web. Le transfert des fichiers est activé dans tous les navigateurs Web HTML 3.2 et versions ultérieures.

Exemple

L'exemple suivant illustre un scénario simple de transfert de fichiers. La première section de code définit le gestionnaire d'événements de la page. Lorsque l'utilisateur clique sur le bouton Upload du formulaire, le nom du fichier, la longueur du contenu et le volume du contenu (en octets) s'affichent sur la page tandis que le fichier lui-même est téléchargé vers le répertoire UploadedFiles du serveur.

RemarqueRemarque

Vous devez attribuer la valeur "multipart/form data" à l'attribut enctype du formulaire.

Le code du formulaire implémente un contrôle HtmlForm, un contrôle HtmlInputFile, un contrôle HtmlInputButton et quatre éléments HtmlGenericControls (l'élément <div> et les trois éléments <span>, contenant tous des paires attribut-valeur runat="server" dans leurs balises d'ouverture).

RemarqueRemarque

Pour afficher les informations relatives au fichier téléchargé sur la page, la propriété Visible, dont HtmlGenericControl hérite de la classe Control, doit avoir la valeur true dans le code du gestionnaire d'événements.

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

Voir aussi

Référence

HtmlInputFile

Autres ressources

Contrôles serveur HTML