Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
FileUpload, classe
Affiche un contrôle de zone de texte et un bouton Parcourir qui permettent aux utilisateurs de sélectionner un fichier à télécharger sur le serveur.
System.Web.UI.Control
System.Web.UI.WebControls.WebControl
System.Web.UI.WebControls.FileUpload
Assembly : System.Web (dans System.Web.dll)
Le type FileUpload expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
AccessKey | Obtient ou définit la touche d'accès rapide qui vous permet de naviguer rapidement vers le contrôle serveur Web. (Hérité de WebControl.) |
|
Adapter | Obtient l'adaptateur spécifique au navigateur pour le contrôle. (Hérité de Control.) |
|
AppRelativeTemplateSourceDirectory | Obtient ou définit le répertoire virtuel relatif à l'application de l'objet Page ou UserControl qui contient ce contrôle. (Hérité de Control.) |
|
Attributes | Obtient la collection d'attributs arbitraires (pour le rendu uniquement) qui ne correspondent pas à des propriétés du contrôle. (Hérité de WebControl.) |
|
BackColor | Obtient ou définit la couleur d'arrière-plan du contrôle serveur Web. (Hérité de WebControl.) |
|
BindingContainer | Infrastructure. Obtient le contrôle qui contient la liaison de données de ce contrôle. (Hérité de Control.) |
|
BorderColor | Obtient ou définit la couleur de bordure du contrôle Web. (Hérité de WebControl.) |
|
BorderStyle | Obtient ou définit le style de bordure du contrôle serveur Web. (Hérité de WebControl.) |
|
BorderWidth | Obtient ou définit la largeur de bordure du contrôle serveur Web. (Hérité de WebControl.) |
|
ChildControlsCreated | Obtient une valeur qui indique si des contrôles enfants du contrôle serveur ont été créés. (Hérité de Control.) |
|
ClientID | Obtient l'ID de contrôle pour le balisage HTML généré par ASP.NET. (Hérité de Control.) |
|
ClientIDMode | Obtient ou définit l'algorithme utilisé pour générer la valeur de la propriété ClientID. (Hérité de Control.) |
|
ClientIDSeparator | Obtient une valeur de caractère représentant le caractère de séparation utilisé dans la propriété ClientID. (Hérité de Control.) |
|
Context | Obtient l'objet HttpContext associé au contrôle serveur pour la demande Web en cours. (Hérité de Control.) |
|
Controls | Obtient un objet ControlCollection qui représente les contrôles enfants d'un contrôle serveur spécifié dans la hiérarchie de l'interface utilisateur. (Hérité de Control.) |
|
ControlStyle | Obtient le style d'un contrôle serveur Web. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
ControlStyleCreated | Obtient une valeur indiquant si un objet Style a été créé pour la propriété ControlStyle. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
CssClass | Obtient ou définit la classe de feuille de style en cascade (CSS, Cascading Style Sheet) rendue par le contrôle serveur Web sur le client. (Hérité de WebControl.) |
|
DataItemContainer | Obtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataItemContainer. (Hérité de Control.) |
|
DataKeysContainer | Obtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataKeysControl. (Hérité de Control.) |
|
DesignMode | Obtient une valeur indiquant si un contrôle est utilisé sur une aire de conception. (Hérité de Control.) |
|
Enabled | Obtient ou définit une valeur indiquant si le contrôle serveur Web est activé. (Hérité de WebControl.) |
|
EnableTheming | Obtient ou définit une valeur indiquant si les thèmes s'appliquent à ce contrôle. (Hérité de WebControl.) |
|
EnableViewState | Obtient ou définit une valeur indiquant si le contrôle serveur rend persistant son état d'affichage, ainsi que celui de tous les contrôles enfants qu'il contient, sur le client à l'origine de la demande. (Hérité de Control.) |
|
Events | Obtient la liste des délégués de gestionnaires d'événements pour le contrôle. Cette propriété est en lecture seule. (Hérité de Control.) |
|
FileBytes | Obtient le tableau des octets d'un fichier spécifié à l'aide d'un contrôle FileUpload. |
|
FileContent | Obtient un objet Stream qui pointe sur un fichier à télécharger à l'aide du contrôle FileUpload. |
|
FileName | Obtient le nom d'un fichier sur un client à télécharger à l'aide du contrôle FileUpload. |
|
Font | Obtient les propriétés de police associées au contrôle serveur Web. (Hérité de WebControl.) |
|
ForeColor | Obtient ou définit la couleur de premier plan (généralement la couleur du texte) du contrôle serveur Web. (Hérité de WebControl.) |
|
HasAttributes | Obtient une valeur indiquant si le contrôle a des attributs définis. (Hérité de WebControl.) |
|
HasChildViewState | Obtient une valeur indiquant si les contrôles enfants du contrôle serveur en cours possèdent des paramètres d'état d'affichage enregistrés. (Hérité de Control.) |
|
HasFile | Obtient une valeur indiquant si le contrôle FileUpload contient un fichier. |
|
Height | Obtient ou définit la hauteur du contrôle serveur Web. (Hérité de WebControl.) |
|
ID | Obtient ou définit l'ID programmatique assigné au contrôle serveur. (Hérité de Control.) |
|
IdSeparator | Infrastructure. Obtient le caractère utilisé pour séparer des identificateurs de contrôle. (Hérité de Control.) |
|
IsChildControlStateCleared | Obtient une valeur indiquant si les contrôles contenus dans ce contrôle utilisent l'état du contrôle. (Hérité de Control.) |
|
IsEnabled | Obtient une valeur indiquant si le contrôle est activé. (Hérité de WebControl.) |
|
IsTrackingViewState | Obtient une valeur qui indique si le contrôle serveur enregistre les modifications apportées à son état d'affichage. (Hérité de Control.) |
|
IsViewStateEnabled | Obtient une valeur indiquant si l'état d'affichage est activé pour ce contrôle. (Hérité de Control.) |
|
LoadViewStateByID | Obtient une valeur indiquant si le contrôle participe au chargement de son état d'affichage par ID et non par index. (Hérité de Control.) |
|
NamingContainer | Obtient une référence au conteneur d'attribution de noms du contrôle serveur, qui crée un espace de noms unique pour différencier les contrôles serveur dont la propriété Control.ID possède la même valeur. (Hérité de Control.) |
|
Page | Obtient une référence à l'instance de Page qui contient le contrôle serveur. (Hérité de Control.) |
|
Parent | Obtient une référence au contrôle parent du contrôle serveur dans la hiérarchie des contrôles de la page. (Hérité de Control.) |
|
PostedFile | Obtient l'objet HttpPostedFile sous-jacent pour un fichier téléchargé à l'aide du contrôle FileUpload. |
|
RenderingCompatibility | Obtient une valeur qui spécifie la version ASP.NET avec laquelle le HTML restitué sera compatible. (Hérité de Control.) |
|
Site | Obtient des informations sur le conteneur qui héberge le contrôle en cours lorsqu'il est rendu sur une aire de conception. (Hérité de Control.) |
|
SkinID | Obtient ou définit l'apparence à appliquer au contrôle. (Hérité de WebControl.) |
|
Style | Obtient une collection d'attributs de texte qui sont rendus en tant qu'attribut de style sur la balise extérieure d'un contrôle serveur Web. (Hérité de WebControl.) |
|
SupportsDisabledAttribute | Obtient une valeur qui indique si le contrôle doit affecter à l'attribut disabled de l'élément HTML rendu la valeur "disabled" lorsque la propriété IsEnabled du contrôle a la valeur false. (Hérité de WebControl.) |
|
TabIndex | Obtient ou définit l'index de tabulation du contrôle serveur Web. (Hérité de WebControl.) |
|
TagKey | Obtient la valeur HtmlTextWriterTag qui correspond au contrôle serveur Web. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
TagName | Obtient le nom de la balise du contrôle. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
TemplateControl | Obtient ou définit une référence au modèle qui contient ce contrôle. (Hérité de Control.) |
|
TemplateSourceDirectory | Obtient le répertoire virtuel du Page ou du UserControl qui contient le contrôle serveur en cours. (Hérité de Control.) |
|
ToolTip | Obtient ou définit le texte affiché quand le pointeur de la souris est positionné sur le contrôle serveur Web. (Hérité de WebControl.) |
|
UniqueID | Obtient l'identificateur unique qualifié sur le plan hiérarchique du contrôle serveur. (Hérité de Control.) |
|
ViewState | Obtient un dictionnaire d'informations d'état qui vous permet d'enregistrer et de restaurer l'état d'affichage d'un contrôle serveur entre plusieurs demandes de la même page. (Hérité de Control.) |
|
ViewStateIgnoresCase | Obtient une valeur qui indique si l'objet StateBag respecte la casse. (Hérité de Control.) |
|
ViewStateMode | Obtient ou définit le mode d'état d'affichage de ce contrôle. (Hérité de Control.) |
|
Visible | Obtient ou définit une valeur qui indique si un contrôle serveur est rendu sous la forme d'une interface utilisateur sur la page. (Hérité de Control.) |
|
Width | Obtient ou définit la largeur du contrôle serveur Web. (Hérité de WebControl.) |
| Nom | Description | |
|---|---|---|
|
AddAttributesToRender | Ajoute les attributs et les styles HTML d'un contrôle FileUpload à rendre à l'objet System.Web.UI.HtmlTextWriter spécifié. (Substitue WebControl.AddAttributesToRender(HtmlTextWriter).) |
|
AddedControl | Appelée après l'ajout d'un contrôle enfant à la collection Controls de l'objet Control. (Hérité de Control.) |
|
AddParsedSubObject | Avertit le contrôle serveur qu'un élément XML ou HTML a été analysé et l'ajoute à l'objet ControlCollection du contrôle serveur. (Hérité de Control.) |
|
ApplyStyle | Copie tous les éléments non vides du style spécifié vers le contrôle Web, en remplaçant les éléments de style existants du contrôle. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
ApplyStyleSheetSkin | Applique les propriétés de style définies dans la feuille de style de la page au contrôle. (Hérité de Control.) |
|
BuildProfileTree | Infrastructure. Collecte des informations sur le contrôle serveur et les livre à la propriété Trace à afficher lorsque le traçage est activé pour la page. (Hérité de Control.) |
|
ClearCachedClientID | Infrastructure. Affecte à la valeur ClientID mise en cache la valeur null. (Hérité de Control.) |
|
ClearChildControlState | Supprime les informations sur l'état du contrôle des contrôles enfants du contrôle serveur. (Hérité de Control.) |
|
ClearChildState | Supprime les informations sur l'état d'affichage et sur l'état du contrôle de tous les contrôles enfants du contrôle serveur. (Hérité de Control.) |
|
ClearChildViewState | Supprime les informations d'état d'affichage de tous les contrôles enfants du contrôle serveur. (Hérité de Control.) |
|
ClearEffectiveClientIDMode | Infrastructure. Affecte la valeur Inherit à la propriété ClientIDMode de l'instance de contrôle actuelle et de tous contrôles enfants. (Hérité de Control.) |
|
CopyBaseAttributes | Copie les propriétés non encapsulées par l'objet Style du contrôle serveur Web spécifié vers le contrôle serveur Web à partir duquel cette méthode est appelée. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
CreateChildControls | Appelé par l'infrastructure de page ASP.NET pour avertir les contrôles serveur qui utilisent une implémentation basée sur la composition qu'ils doivent créer tous les contrôles enfants qu'ils contiennent en préparation de la publication ou du rendu. (Hérité de Control.) |
|
CreateControlCollection | Crée un nouvel objet ControlCollection pour contenir les contrôles enfants (littéraux et serveur) du contrôle serveur. (Hérité de Control.) |
|
CreateControlStyle | Crée l'objet de style qui est utilisé de manière interne par la classe WebControl pour implémenter toutes les propriétés associées au style. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
DataBind() | Lie une source de données au contrôle serveur appelé et à tous ses contrôles enfants. (Hérité de Control.) |
|
DataBind(Boolean) | Lie une source de données au contrôle serveur appelé et tous ses contrôles enfants avec une option pour déclencher l'événement DataBinding. (Hérité de Control.) |
|
DataBindChildren | Lie une source de données aux contrôles enfants du contrôle serveur. (Hérité de Control.) |
|
Dispose | Permet à un contrôle serveur d'effectuer le nettoyage final avant qu'il soit libéré de la mémoire. (Hérité de Control.) |
|
EnsureChildControls | Détermine si le contrôle serveur contient des contrôles enfants. S'il ne contient pas de contrôles enfants, il en crée. (Hérité de Control.) |
|
EnsureID | Crée un identificateur pour les contrôles auxquels aucun identificateur n'est assigné. (Hérité de Control.) |
|
Equals(Object) | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) |
|
FindControl(String) | Recherche un contrôle serveur possédant le paramètre id spécifié dans le conteneur d'attribution de noms actuel. (Hérité de Control.) |
|
FindControl(String, Int32) | Infrastructure. Recherche le conteneur d'attribution de noms actuel d'un contrôle serveur avec l'id spécifié et un entier, spécifié dans le paramètre pathOffset, qui facilite la recherche. Vous ne devez pas substituer cette version de la méthode FindControl. (Hérité de Control.) |
|
Focus | Affecte le focus d'entrée à un contrôle. (Hérité de Control.) |
|
GetDesignModeState | Infrastructure. Obtient les données au moment du design pour un contrôle. (Hérité de Control.) |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetRouteUrl(Object) | Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire. (Hérité de Control.) |
|
GetRouteUrl(RouteValueDictionary) | Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire. (Hérité de Control.) |
|
GetRouteUrl(String, Object) | Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire. (Hérité de Control.) |
|
GetRouteUrl(String, RouteValueDictionary) | Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire. (Hérité de Control.) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
GetUniqueIDRelativeTo | Retourne la partie préfixée de la propriété UniqueID du contrôle spécifié. (Hérité de Control.) |
|
HasControls | Détermine si le contrôle serveur contient des contrôles enfants. (Hérité de Control.) |
|
HasEvents | Retourne une valeur indiquant si des événements sont inscrits pour le contrôle ou des contrôles enfants. (Hérité de Control.) |
|
IsLiteralContent | Infrastructure. Détermine si le contrôle serveur ne détient qu'un contenu littéral. (Hérité de Control.) |
|
LoadControlState | Restaure des informations sur l'état du contrôle à partir d'une demande de page antérieure enregistrée par la méthode SaveControlState. (Hérité de Control.) |
|
LoadViewState | Restaure les informations d'état d'affichage à partir d'une précédente requête enregistrées avec la méthode SaveViewState. (Hérité de WebControl.) |
|
MapPathSecure | Récupère le chemin d'accès physique auquel un chemin d'accès virtuel, absolu ou relatif, correspond. (Hérité de Control.) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
MergeStyle | Copie tous les éléments non vides du style spécifié vers le contrôle Web, mais ne remplace aucun élément de style existant du contrôle. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
OnBubbleEvent | Détermine si l'événement pour le contrôle serveur est passé dans la hiérarchie des contrôles serveur de l'interface utilisateur de la page. (Hérité de Control.) |
|
OnDataBinding | Déclenche l'événement DataBinding. (Hérité de Control.) |
|
OnInit | Déclenche l'événement Init. (Hérité de Control.) |
|
OnLoad | Déclenche l'événement Load. (Hérité de Control.) |
|
OnPreRender | Déclenche l'événement PreRender pour le contrôle FileUpload. (Substitue Control.OnPreRender(EventArgs).) |
|
OnUnload | Déclenche l'événement Unload. (Hérité de Control.) |
|
OpenFile | Obtient un Stream utilisé pour lire un fichier. (Hérité de Control.) |
|
RaiseBubbleEvent | Assigne les sources éventuelles de l'événement et ses informations au parent du contrôle. (Hérité de Control.) |
|
RemovedControl | Appelée après la suppression d'un contrôle enfant dans la collection Controls de l'objet Control. (Hérité de Control.) |
|
Render | Envoie le contenu du contrôle FileUpload à un objet System.Web.UI.HtmlTextWriter spécifié, qui écrit le contenu à rendre sur le client. (Substitue WebControl.Render(HtmlTextWriter).) |
|
RenderBeginTag | Génère le rendu de la balise d'ouverture HTML du contrôle via le writer spécifié. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
RenderChildren | Renvoie le contenu des enfants d'un contrôle serveur dans un objet HtmlTextWriter fourni, qui écrit le contenu à rendre sur le client. (Hérité de Control.) |
|
RenderContents | Génère le rendu du contenu du contrôle via le writer spécifié. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
RenderControl(HtmlTextWriter) | Renvoie le contenu du contrôle serveur dans un objet HtmlTextWriter fourni et stocke des informations de traçage au sujet du contrôle si le traçage est activé. (Hérité de Control.) |
|
RenderControl(HtmlTextWriter, ControlAdapter) | Génère le contenu du contrôle serveur dans un objet HtmlTextWriter à l'aide d'un objet ControlAdapter fourni. (Hérité de Control.) |
|
RenderEndTag | Génère le rendu de la balise de fermeture HTML du contrôle via le writer spécifié. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl.) |
|
ResolveAdapter | Obtient l'adaptateur de contrôles responsable du rendu du contrôle spécifié. (Hérité de Control.) |
|
ResolveClientUrl | Obtient une URL qui peut être utilisée par le navigateur. (Hérité de Control.) |
|
ResolveUrl | Convertit une URL en une URL que le client soit en mesure d'utiliser. (Hérité de Control.) |
|
SaveAs | Enregistre le contenu d'un fichier téléchargé vers un chemin d'accès spécifié sur le serveur Web. |
|
SaveControlState | Enregistre les modifications éventuellement apportées à l'état du contrôle serveur depuis la publication de la page sur le serveur. (Hérité de Control.) |
|
SaveViewState | Enregistre les états modifiés après l'appel de la méthode TrackViewState. (Hérité de WebControl.) |
|
SetDesignModeState | Définit les données au moment du design pour un contrôle. (Hérité de Control.) |
|
SetRenderMethodDelegate | Infrastructure. Assigne un délégué de gestionnaires d'événements pour générer le rendu du contrôle serveur et de son contenu dans son contrôle parent. (Hérité de Control.) |
|
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
|
TrackViewState | Amène le contrôle à suivre les modifications apportées à son état d'affichage afin qu'elles puissent être stockées dans la propriété ViewState de l'objet. (Hérité de WebControl.) |
| Nom | Description | |
|---|---|---|
|
DataBinding | Se produit lorsque le contrôle serveur se lie à une source de données. (Hérité de Control.) |
|
Disposed | Se produit lorsqu'un contrôle serveur est libéré de la mémoire, ce qui constitue la dernière étape du cycle de vie d'un contrôle serveur en cas de demande d'une page ASP.NET. (Hérité de Control.) |
|
Init | Se produit lorsque le contrôle serveur est initialisé, ce qui constitue la première étape de son cycle de vie. (Hérité de Control.) |
|
Load | Se produit lorsque le contrôle serveur est chargé dans l'objet Page. (Hérité de Control.) |
|
PreRender | Se produit après le chargement de l'objet Control mais avant le rendu. (Hérité de Control.) |
|
Unload | Se produit lorsque le contrôle serveur est déchargé de la mémoire. (Hérité de Control.) |
| Nom | Description | |
|---|---|---|
|
FindDataSourceControl | Retourne la source de données associée au contrôle de données pour le contrôle spécifié. (Défini par DynamicDataExtensions.) |
|
FindFieldTemplate | Retourne le modèle de champ pour la colonne spécifiée dans le conteneur d'attribution de noms du contrôle spécifié. (Défini par DynamicDataExtensions.) |
|
FindMetaTable | Retourne l'objet Metatable pour le contrôle de données conteneur. (Défini par DynamicDataExtensions.) |
| Nom | Description | |
|---|---|---|
|
IAttributeAccessor.GetAttribute | Infrastructure. Obtient un attribut du contrôle Web avec le nom spécifié. (Hérité de WebControl.) |
|
IAttributeAccessor.SetAttribute | Affecte au nom et à la valeur spécifiés un attribut du contrôle Web. (Hérité de WebControl.) |
|
IControlBuilderAccessor.ControlBuilder | Pour obtenir une description de ce membre, consultez IControlBuilderAccessor.ControlBuilder. (Hérité de Control.) |
|
IControlDesignerAccessor.GetDesignModeState | Pour obtenir une description de ce membre, consultez IControlDesignerAccessor.GetDesignModeState. (Hérité de Control.) |
|
IControlDesignerAccessor.SetDesignModeState | Pour obtenir une description de ce membre, consultez IControlDesignerAccessor.SetDesignModeState. (Hérité de Control.) |
|
IControlDesignerAccessor.SetOwnerControl | Infrastructure. Pour obtenir une description de ce membre, consultez IControlDesignerAccessor.SetOwnerControl. (Hérité de Control.) |
|
IControlDesignerAccessor.UserData | Pour obtenir une description de ce membre, consultez IControlDesignerAccessor.UserData. (Hérité de Control.) |
|
IDataBindingsAccessor.DataBindings | Pour obtenir une description de ce membre, consultez IDataBindingsAccessor.DataBindings. (Hérité de Control.) |
|
IDataBindingsAccessor.HasDataBindings | Pour obtenir une description de ce membre, consultez IDataBindingsAccessor.HasDataBindings. (Hérité de Control.) |
|
IExpressionsAccessor.Expressions | Pour obtenir une description de ce membre, consultez IExpressionsAccessor.Expressions. (Hérité de Control.) |
|
IExpressionsAccessor.HasExpressions | Pour obtenir une description de ce membre, consultez IExpressionsAccessor.HasExpressions. (Hérité de Control.) |
|
IParserAccessor.AddParsedSubObject | Pour obtenir une description de ce membre, consultez IParserAccessor.AddParsedSubObject. (Hérité de Control.) |
Dans cette rubrique :
Introduction
La classe FileUpload affiche un contrôle de zone de texte et un bouton Parcourir qui permettent aux utilisateurs de sélectionner un fichier sur le client et de le télécharger sur le serveur Web. L'utilisateur spécifie le fichier à télécharger en entrant le chemin d'accès complet au fichier sur l'ordinateur local (par exemple, C:\Mes fichiers\Test.txt) dans la zone de texte du contrôle. L'utilisateur peut également sélectionner le fichier en cliquant sur le bouton Parcourir, puis en recherchant le fichier dans la boîte de dialogue Choisir un fichier.
Utilisez la propriété FileName pour obtenir le nom d'un fichier sur un client à télécharger à l'aide du contrôle FileUpload. Le nom de fichier retourné par cette propriété n'inclut pas le chemin d'accès du fichier sur le client.
La propriété FileContent obtient un objet Stream qui pointe sur un fichier à télécharger. Utilisez cette propriété pour accéder au contenu sous forme d'octets. Par exemple, vous pouvez utiliser l'objet Stream retourné par la propriété FileContent pour lire le contenu du fichier sous forme d'octets et le stocker dans un tableau d'octets. Vous pouvez également utiliser la propriété FileBytes pour récupérer tous les octets dans le fichier.
La propriété PostedFile obtient l'objet HttpPostedFile sous-jacent du fichier à télécharger. Vous pouvez utiliser cette propriété pour accéder aux propriétés supplémentaires sur le fichier. La propriété ContentLength obtient la longueur du fichier. La propriété ContentType obtient le type de contenu MIME du fichier. De plus, vous pouvez utiliser la propriété PostedFile pour accéder à la propriété FileName, la propriété InputStream et la méthode SaveAs. Toutefois, les mêmes fonctionnalités sont fournies par la propriété FileName, la propriété FileContent et la méthode SaveAs.
Enregistrement de fichiers téléchargés
Le contrôle FileUpload n'enregistre pas automatiquement de fichier sur le serveur après la sélection par l'utilisateur du fichier à télécharger. Vous devez explicitement fournir un contrôle ou un mécanisme pour permettre à l'utilisateur d'envoyer le fichier spécifié. Par exemple, vous pouvez fournir un bouton sur lequel l'utilisateur peut cliquer pour télécharger le fichier. Le code que vous écrivez pour enregistrer le fichier spécifié doit appeler la méthode SaveAs qui enregistre le contenu d'un fichier dans un chemin d'accès spécifié sur le serveur. En général, la méthode SaveAs est appelée dans une méthode de gestion d'événements pour un événement qui déclenche une publication sur le serveur. Par exemple, si vous fournissez un bouton pour envoyer un fichier, vous pouvez inclure le code afin d'enregistrer le fichier dans la méthode de gestion d'événements pour l'événement Click.
Avant d'appeler la méthode SaveAs pour enregistrer le fichier sur le serveur, utilisez la propriété HasFile pour vérifier que le contrôle FileUpload contient un fichier. Si HasFile retourne true, appelez la méthode SaveAs. SI elle retourne false, affichez un message à l'utilisateur indiquant que le contrôle ne contient pas de fichier. Ne vérifiez pas la propriété PostedFile pour déterminer l'existence d'un fichier à télécharger car, par défaut, cette propriété contient 0 octet. Par conséquent, même si le contrôle FileUpload est vide, la propriété PostedFile retourne une valeur non null.
Considérations à propos de la sécurité
Lorsque vous appelez la méthode SaveAs, vous devez spécifier le chemin d'accès complet du répertoire dans lequel enregistrer le fichier téléchargé. Si vous ne spécifiez pas explicitement de chemin d'accès dans votre code d'application, une exception est levée lorsqu'un utilisateur tente de télécharger un fichier. Ce comportement permet de protéger les fichiers sur le serveur en empêchant les utilisateurs d'écrire dans des emplacements arbitraires de la structure de répertoires de votre application, et en interdisant l'accès aux répertoires racine sensibles.
La méthode SaveAs écrit le fichier téléchargé dans le répertoire spécifié. Par conséquent, l'application ASP.NET doit avoir un accès en écriture au répertoire du serveur. Il existe deux manières pour permettre à l'application d'obtenir un accès en écriture. Vous pouvez accorder explicitement l'accès en écriture au compte sous lequel l'application s'exécute, dans le répertoire où les fichiers téléchargés seront enregistrés. Vous pouvez également augmenter le niveau de confiance accordée à l'application ASP.NET. Pour obtenir l'accès en écriture pour le répertoire en cours d'exécution pour l'application, l'objet AspNetHostingPermission doit être accordé à l'application avec AspNetHostingPermissionLevel.Medium comme niveau de confiance. L'augmentation du niveau de confiance augmente l'accès de l'application aux ressources sur le serveur. Notez qu'il ne s'agit pas d'une approche sécurisée, car un utilisateur malveillant qui gagne le contrôle sur votre application sera également capable d'exécuter sous ce niveau supérieur de confiance. Il est conseillé d'exécuter une application ASP.NET dans le contexte d'un utilisateur possédant les privilèges minimaux requis pour l'application à exécuter. Pour plus d'informations sur la sécurité des applications ASP.NET, consultez Méthodes de sécurité de base pour les applications Web et Fichiers de stratégie et niveaux de confiance ASP.NET.
Limitations de mémoire
L'un des moyens de se protéger contre des attaques par déni de service est de limiter la taille des fichiers qui peuvent être téléchargés à l'aide du contrôle FileUpload. Vous devez définir une limite de taille appropriée aux types de fichiers devant être téléchargés. La limite de taille par défaut est 4096 kilo-octets (Ko) ou 4 mégaoctets (Mo). Vous pouvez autoriser le téléchargement de fichiers plus volumineux en définissant l'attribut maxRequestLength de l'élément httpRuntime. Pour augmenter la taille de fichier maximale autorisée pour l'application entière, définissez l'attribut maxRequestLength dans le fichier Web.config. Pour augmenter la taille de fichier maximale autorisée pour une page spécifiée, définissez l'attribut maxRequestLength de l'élément location dans le fichier Web.config. Pour obtenir un exemple, consultez location, élément (Schéma des paramètres ASP.NET).
Lors du téléchargement de fichiers volumineux, un utilisateur peut également recevoir le message d'erreur suivant :
aspnet_wp.exe (PID: 1520) was recycled because memory consumption exceeded 460 MB (60 percent of available RAM).
Si les utilisateurs rencontrent ce message d'erreur, augmentez la valeur de l'attribut memoryLimit dans l'élément processModel du fichier Web.config de l'application. L'attribut memoryLimit spécifie la quantité de mémoire maximale qu'un processus de travail peut utiliser. Si le processus de travail dépasse la quantité memoryLimit, un nouveau processus est créé pour le remplacer, et toutes les demandes actuelles sont réassignées au nouveau processus.
Pour contrôler si le fichier à télécharger est stocké temporairement dans la mémoire ou sur le serveur pendant le traitement de la demande, définissez l'attribut requestLengthDiskThreshold de l'élément httpRuntime. Cet attribut vous permet de gérer la taille de la mémoire tampon du flux d'entrée. La valeur par défaut est 256 octets. La valeur que vous spécifiez ne doit pas dépasser la valeur que vous spécifiez pour l'attribut maxRequestLength.
Utilisation du contrôle FileUpload avec le contrôle UpdatePanel
Le contrôle FileUpload est conçu pour être utilisé uniquement dans les scénarios de publication (postback) et non dans les scénarios de publication asynchrone pendant le rendu de page partiel. Lorsque vous utilisez un contrôle FileUpload à l'intérieur d'un contrôle UpdatePanel, le fichier doit être téléchargé à l'aide d'un contrôle qui est un objet PostBackTrigger du panneau. Les contrôles UpdatePanel permettent de mettre à jour des zones sélectionnées sur une page plutôt que la page entière avec une publication. Pour plus d'informations, consultez Vue d'ensemble du contrôle UpdatePanel et Vue d'ensemble du rendu de page partielle.
Syntaxe déclarative
<asp:FileUpload
AccessKey="string"
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
CssClass="string"
Enabled="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
ID="string"
OnDataBinding="DataBinding event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnUnload="Unload event handler"
runat="server"
SkinID="string"
Style="string"
TabIndex="integer"
ToolTip="string"
Visible="True|False"
Width="size"
/>
Un projet de site Web Visual Studio contenant du code source est disponible pour accompagner cette rubrique : Download.
Cette section contient les quatre exemples suivants :
-
Le premier exemple indique comment créer un contrôle FileUpload qui enregistre des fichiers vers un chemin d'accès spécifié dans le code.
-
Le deuxième exemple indique comment créer un contrôle FileUpload qui enregistre des fichiers dans un répertoire spécifié du système de fichiers de l'application.
-
Le troisième exemple indique comment créer un contrôle FileUpload qui enregistre des fichiers vers un chemin d'accès spécifié et limite la taille du fichier qui peut être téléchargé.
-
Le quatrième exemple indique comment créer un contrôle FileUpload qui enregistre des fichiers vers un chemin d'accès spécifié et autorise uniquement le téléchargement des fichiers avec les extensions de nom de fichier .doc ou .xls.
Attention
|
|---|
|
Ces exemples montrent la syntaxe de base du contrôle FileUpload mais pas tous les processus de vérification des erreurs nécessaires à terminer avant l'enregistrement du fichier. Pour un exemple plus complet, consultez SaveAs. |
L'exemple suivant indique comment créer un contrôle FileUpload qui enregistre des fichiers vers un chemin d'accès spécifié dans le code. La méthode SaveAs est appelée pour enregistrer le fichier selon le chemin d'accès spécifié sur le serveur.
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void UploadButton_Click(object sender, EventArgs e) { // Specify the path on the server to // save the uploaded file to. String savePath = @"c:\temp\uploads\"; // Before attempting to perform operations // on the file, verify that the FileUpload // control contains a file. if (FileUpload1.HasFile) { // Get the name of the file to upload. String fileName = FileUpload1.FileName; // Append the name of the file to upload to the path. savePath += fileName; // Call the SaveAs method to save the // uploaded file to the specified path. // This example does not perform all // the necessary error checking. // If a file with the same name // already exists in the specified path, // the uploaded file overwrites it. FileUpload1.SaveAs(savePath); // Notify the user of the name of the file // was saved under. UploadStatusLabel.Text = "Your file was saved as " + fileName; } else { // Notify the user that a file was not uploaded. UploadStatusLabel.Text = "You did not specify a file to upload."; } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>FileUpload Example</title> </head> <body> <form id="form1" runat="server"> <div> <h4>Select a file to upload:</h4> <asp:FileUpload id="FileUpload1" runat="server"> </asp:FileUpload> <br /><br /> <asp:Button id="UploadButton" Text="Upload file" OnClick="UploadButton_Click" runat="server"> </asp:Button> <hr /> <asp:Label id="UploadStatusLabel" runat="server"> </asp:Label> </div> </form> </body> </html>
L'exemple suivant indique comment créer un contrôle FileUpload qui enregistre des fichiers dans un répertoire spécifié du système de fichiers de l'application. La propriété HttpRequest.PhysicalApplicationPath est utilisée pour obtenir le chemin d'accès au système de fichiers physique du répertoire racine pour l'application serveur en cours d'exécution. La méthode SaveAs est appelée pour enregistrer le fichier selon le chemin d'accès spécifié sur le serveur.
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void UploadButton_Click(object sender, EventArgs e) { // Save the uploaded file to an "Uploads" directory // that already exists in the file system of the // currently executing ASP.NET application. // Creating an "Uploads" directory isolates uploaded // files in a separate directory. This helps prevent // users from overwriting existing application files by // uploading files with names like "Web.config". string saveDir = @"\Uploads\"; // Get the physical file system path for the currently // executing application. string appPath = Request.PhysicalApplicationPath; // Before attempting to save the file, verify // that the FileUpload control contains a file. if (FileUpload1.HasFile) { string savePath = appPath + saveDir + Server.HtmlEncode(FileUpload1.FileName); // Call the SaveAs method to save the // uploaded file to the specified path. // This example does not perform all // the necessary error checking. // If a file with the same name // already exists in the specified path, // the uploaded file overwrites it. FileUpload1.SaveAs(savePath); // Notify the user that the file was uploaded successfully. UploadStatusLabel.Text = "Your file was uploaded successfully."; } else { // Notify the user that a file was not uploaded. UploadStatusLabel.Text = "You did not specify a file to upload."; } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>FileUpload Class Example</title> </head> <body> <h3>FileUpload Class Example: Save To Application Directory</h3> <form id="form1" runat="server"> <div> <h4>Select a file to upload:</h4> <asp:FileUpload id="FileUpload1" runat="server"> </asp:FileUpload> <br/><br/> <asp:Button id="UploadButton" Text="Upload file" OnClick="UploadButton_Click" runat="server"> </asp:Button> <hr /> <asp:Label id="UploadStatusLabel" runat="server"> </asp:Label> </div> </form> </body> </html>
L'exemple suivant indique comment créer un contrôle FileUpload qui enregistre des fichiers vers un chemin d'accès spécifié dans le code. Le contrôle limite à 5 Mo la taille du fichier qui peut être téléchargé. La propriété PostedFile est utilisée pour accéder à la propriété ContentLength sous-jacente et retourner la taille du fichier. Si la taille du fichier à télécharger est inférieure à 2 Mo, la méthode SaveAs est appelée pour enregistrer le fichier sur le chemin d'accès spécifié sur le serveur. En plus de vérifier le paramètre de taille de fichier maximal du code de votre application, vous pouvez affecter la taille autorisée maximale dans le fichier de configuration de votre application à l'attribut maxRequestLength de l'élément httpRuntime.
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void UploadButton_Click(object sender, EventArgs e) { // Specify the path on the server to // save the uploaded file to. string savePath = @"c:\temp\uploads\"; // Before attempting to save the file, verify // that the FileUpload control contains a file. if (FileUpload1.HasFile) { // Get the size in bytes of the file to upload. int fileSize = FileUpload1.PostedFile.ContentLength; // Allow only files less than 2,100,000 bytes (approximately 2 MB) to be uploaded. if (fileSize < 2100000) { // Append the name of the uploaded file to the path. savePath += Server.HtmlEncode(FileUpload1.FileName); // Call the SaveAs method to save the // uploaded file to the specified path. // This example does not perform all // the necessary error checking. // If a file with the same name // already exists in the specified path, // the uploaded file overwrites it. FileUpload1.SaveAs(savePath); // Notify the user that the file was uploaded successfully. UploadStatusLabel.Text = "Your file was uploaded successfully."; } else { // Notify the user why their file was not uploaded. UploadStatusLabel.Text = "Your file was not uploaded because " + "it exceeds the 2 MB size limit."; } } else { // Notify the user that a file was not uploaded. UploadStatusLabel.Text = "You did not specify a file to upload."; } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>FileUpload Class Example</title> </head> <body> <form id="form1" runat="server"> <div> <h4>Select a file to upload:</h4> <asp:FileUpload id="FileUpload1" runat="server"> </asp:FileUpload> <br/><br/> <asp:Button id="UploadButton" Text="Upload file" OnClick="UploadButton_Click" runat="server"> </asp:Button> <hr /> <asp:Label id="UploadStatusLabel" runat="server"> </asp:Label> </div> </form> </body> </html>
L'exemple suivant indique comment créer un contrôle FileUpload qui enregistre des fichiers vers un chemin d'accès spécifié dans le code. Cet exemple autorise uniquement le téléchargement de fichiers avec les extensions de nom de fichier .doc ou .xls. La méthode Path.GetExtension est appelée pour retourner l'extension du fichier à télécharger. Si l'extension du fichier est .doc ou .xls, la méthode SaveAs est appelée pour enregistrer le fichier vers le chemin d'accès spécifié sur le serveur.
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void UploadBtn_Click(object sender, EventArgs e) { // Specify the path on the server to // save the uploaded file to. string savePath = @"c:\temp\uploads"; // Before attempting to save the file, verify // that the FileUpload control contains a file. if (FileUpload1.HasFile) { // Get the name of the file to upload. string fileName = Server.HtmlEncode(FileUpload1.FileName); // Get the extension of the uploaded file. string extension = System.IO.Path.GetExtension(fileName); // Allow only files with .doc or .xls extensions // to be uploaded. if ((extension == ".doc") || (extension == ".xls")) { // Append the name of the file to upload to the path. savePath += fileName; // Call the SaveAs method to save the // uploaded file to the specified path. // This example does not perform all // the necessary error checking. // If a file with the same name // already exists in the specified path, // the uploaded file overwrites it. FileUpload1.SaveAs(savePath); // Notify the user that their file was successfully uploaded. UploadStatusLabel.Text = "Your file was uploaded successfully."; } else { // Notify the user why their file was not uploaded. UploadStatusLabel.Text = "Your file was not uploaded because " + "it does not have a .doc or .xls extension."; } } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>FileUpload Class Example</title> </head> <body> <form id="form1" runat="server"> <div> <h4>Select a file to upload:</h4> <asp:FileUpload id="FileUpload1" runat="server"> </asp:FileUpload> <br/><br/> <asp:Button id="UploadBtn" Text="Upload file" OnClick="UploadBtn_Click" runat="server"> </asp:Button> <hr /> <asp:Label id="UploadStatusLabel" runat="server"> </asp:Label> </div> </form> </body> </html>
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Attention