ASP:FILEUPLOAD |
ASP : Téléverser un fichier |
|---|---|
| ASP.NET | |
Syntaxe
|
<asp:FileUpload paramètres> ... </asp:FileUpload> |
Paramètres
| Paramètre | Description | ||
|---|---|---|---|
| AccessKey=valeur | Ce paramètre de balise permet d'indiquer un touche de raccourci à associer avec cette balise. | ||
| BackColor=valeur | Ce paramètre permet d'indiquer la couleur d'arrière plan de la balise. | ||
| Border=valeur | Ce paramètre de balise permet de définir la largeur en pixel d'une bordure de tableau. | ||
| BorderColor=valeur | Ce paramètre permet d'indiquer la couleur de bordure de la balise. | ||
| BorderStyle=valeur | Ce paramètre permet d'indiquer le style de bordure de la balise : NotSet, None, Dotted, Dashed, Solid, Double, Groove, Ridge, Inset ou Outset. | ||
| BorderWidth=valeur | Ce paramètre permet d'indiquer la largeur de la bordure de la balise. | ||
| CssClass=valeur | Ce paramètre permet d'indiquer la classe de feuille de style CSS de la balise. | ||
| Enabled=valeur | Ce paramètre permet d'indiquer si la balise doit être active ou non : | ||
| Constante | Description | ||
| "False" | Cette constante permet d'indiquer que la balise n'est pas active. | ||
| "True" | Cette constante permet d'indiquer que la balise n'est pas active. | ||
| EnableTheming=valeur | Ce paramètre permet d'indiquer si le thème de la balise doit être affiché ou non : | ||
| Constante | Description | ||
| "False" | Cette constante permet d'indiquer que le thème de la balise n'est pas affiché. | ||
| "True" | Cette constante permet d'indiquer que le thème de la balise est affiché. | ||
| EnableViewState=valeur | Ce paramètre permet d'indiquer si le ViewState de la balise doit être activé ou non : | ||
| Constante | Description | ||
| "False" | Cette constante permet d'indiquer que le ViewState de la balise n'est pas actif. | ||
| "True" | Cette constante permet d'indiquer que le ViewState de la balise est actif. | ||
| Font-Bold=valeur | Ce paramètre permet d'indiquer si la police de caractères de la balise doit être en gras ou non : | ||
| Constante | Description | ||
| "False" | Cette constante permet d'indiquer que la police de caractères n'est pas en gras. | ||
| "True" | Cette constante permet d'indiquer que la police de caractères est en gras. | ||
| Font-Italic=valeur | Ce paramètre permet d'indiquer si la police de caractères de la balise doit être en italique ou non : | ||
| Constante | Description | ||
| "False" | Cette constante permet d'indiquer que la police de caractères n'est pas en italique. | ||
| "True" | Cette constante permet d'indiquer que la police de caractères est en italique. | ||
| Font-Names=valeur | Ce paramètre permet d'indiquer les noms de la police de caractères. | ||
| Font-Overline=valeur | Ce paramètre permet d'indiquer si la police de caractères de la balise doit être surligné ou non : | ||
| Constante | Description | ||
| "False" | Cette constante permet d'indiquer que la police de caractères n'est pas surligné. | ||
| "True" | Cette constante permet d'indiquer que la police de caractères est surligné. | ||
| Font-Size=valeur | Ce paramètre permet d'indiquer la taille de la police de caractères de la balise : Smaller, Larger, XX-Small, X-Small, Small, Medium, Large, X-Large ou XX-Large. | ||
| Font-Strikeout=valeur | Ce paramètre permet d'indiquer si la police de caractères de la balise doit être barré ou non : | ||
| Constante | Description | ||
| "False" | Cette constante permet d'indiquer que la police de caractères n'est pas barré. | ||
| "True" | Cette constante permet d'indiquer que la police de caractères est barré. | ||
| Font-Underline=valeur | Ce paramètre permet d'indiquer si la police de caractères de la balise doit être souligné ou non : | ||
| Constante | Description | ||
| "False" | Cette constante permet d'indiquer que la police de caractères n'est pas souligné. | ||
| "True" | Cette constante permet d'indiquer que la police de caractères est souligné. | ||
| ForeColor=valeur | Ce paramètre permet d'indiquer la couleur de premier plan de la balise. | ||
| Height=valeur | Ce paramètre permet d'indiquer la hauteur de la balise. | ||
| ID=identificateur | Ce paramètre de balise permet d'indiquer l'identificateur de cette balise. | ||
| OnDataBinding=valeur | Ce paramètre permet d'indiquer le gestionnaire d'événement de DataBinding. | ||
| OnDisposed=valeur | Ce paramètre permet d'indiquer le gestionnaire d'événement de disposition. | ||
| OnInit=valeur | Ce paramètre permet d'indiquer le gestionnaire d'événement d'initialisation. | ||
| OnLoad=valeur | Ce paramètre permet d'indiquer le gestionnaire d'événement de chargement. | ||
| OnPreRender=valeur | Ce paramètre permet d'indiquer le gestionnaire d'événement de pré-rendu. | ||
| OnUnload=valeur | Ce paramètre permet d'indiquer le gestionnaire d'événement de déchargement. | ||
| runat=valeur | Ce paramètre permet d'indiquer où doit être exécuté la balise : | ||
| Constante | Description | ||
| "server" | Cette constante permet d'indiquer qu'il faut exécuter la balise du côté serveur. | ||
| SkinID=valeur | Ce paramètre permet d'indiquer l'identificateur de Skin. | ||
| Style=valeur | Ce paramètre de balise permet d'indiquer des paramètres de feuille de style associé avec cette balise. | ||
| TabIndex=valeur | Ce paramètre de balise permet d'indiquer l'ordre de sélection des champs et éléments dans un formulaire. | ||
| ToolTip=valeur | Ce paramètre de balise permet d'indiquer l'info-bulle. | ||
| Visible=valeur | Ce paramètre permet d'indiquer si la balise doit être affiché ou non : | ||
| Constante | Description | ||
| "False" | Cette constante permet d'indiquer que la balise n'est pas affiché. | ||
| "True" | Cette constante permet d'indiquer que la balise est affiché. | ||
| Width=valeur | Ce paramètre de balise permet d'indiquer la largeur de la balise. | ||
Description
Cette balise permet d'ajouter une entrée pour effectuer un téléversement d'un fichier.
Remarques
- Le contrôle <asp:FileUpload> permet à l'utilisateur de sélectionner un fichier sur son ordinateur pour l'envoyer vers le serveur. Il s'agit d'une composante indispensable pour la gestion de documents, d'images ou tout autre type de fichier utilisateur.
- La balise nécessite l'attribut runat="server" pour pouvoir être exploitée dans le code-behind. Cela permet d'accéder à ses propriétés côté serveur, comme le nom du fichier, son extension, sa taille ou encore le flux de données.
- Pour que l'envoi de fichiers fonctionne, le formulaire contenant le contrôle FileUpload doit obligatoirement avoir l'attribut enctype="multipart/form-data". Sans cela, les fichiers ne seront pas transmis lors du postback.
- La propriété HasFile permet de vérifier si l'utilisateur a effectivement sélectionné un fichier. Elle est essentielle avant d'essayer de lire ou d'enregistrer quoi que ce soit sur le serveur.
- Le fichier sélectionné peut être enregistré sur le serveur avec la méthode SaveAs(path). Il suffit d'indiquer un chemin physique valide, par exemple dans un dossier Uploads ou App_Data.
- Le contrôle ne déclenche pas automatiquement un postback. Il est donc souvent utilisé en combinaison avec un bouton (<asp:Button>) lançant l'envoi du formulaire contenant le fichier.
- Pour sécuriser l'application, il est important de filtrer les extensions de fichiers acceptées (.jpg, .pdf, .docx,...). Cela permet de prévenir le téléversement de fichiers potentiellement dangereux comme des exécutables.
- Il est également recommandé de limiter la taille des fichiers autorisés. Cela peut être fait via la configuration du fichier web.config, en ajustant la valeur maxRequestLength ou maxAllowedContentLength.
- La propriété FileName retourne uniquement le nom du fichier et non le chemin complet. Cette information peut être utilisée pour renommer le fichier avant de le sauvegarder ou pour générer une URL propre.
- On peut accéder au contenu du fichier via PostedFile.InputStream, ce qui permet par exemple de lire les données en mémoire ou de les stocker directement dans une base de données, sans passer par le système de fichiers.
- Le contrôle est compatible avec le ViewState, mais il est important de noter qu'un fichier sélectionné n'est pas conservé après un postback. Il faut donc s'assurer de traiter le fichier dans le même cycle de requête.
- Il est possible d'utiliser plusieurs contrôles FileUpload sur la même page, chacun avec son propre identifiant, pour permettre à l'utilisateur de sélectionner plusieurs fichiers (un par champ).
- ASP.NET Web Forms ne permet pas nativement l'envoi de plusieurs fichiers avec un seul contrôle. Pour cela, il faut utiliser HTML5 (<input type="file" multiple>) et traiter les fichiers avec du code personnalisé ou via AJAX.
- Des messages d'erreur clairs doivent être affichés à l'utilisateur en cas de problème : format de fichier non valide, taille trop grande, absence de sélection, ou erreur d'écriture sur le serveur.
- Le contrôle peut être stylisé comme n'importe quel autre composant ASP.NET à l'aide de classes CSS. Cela permet de l'intégrer harmonieusement à l'interface utilisateur, même si sa structure est limitée côté HTML.
Exemple
Voici un exemple montrant comment effectuer un téléversement :
- <%@ Page Language="vb" %>
- <!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">
- <body>
- <form id="MonFormulaire" runat="server">
- <asp:FileUpload id="fichierTeleverser" runat="server"></asp:FileUpload>
- <asp:Button id="btnSubmit" runat="server" Text="Soumettre"></asp:Button>
- </form>
- </body>
- </html>
on obtiendra le résultat semblable suivant :
Voir également
Articles - Les géants de l'informatique - Microsoft
Dernière mise à jour : Samedi, le 31 août 2017