Créer un Uploader de Fichier
Un nouveau contrôle ASP.NET 2.0 est apparu, le contrôle
« FileUpload », contrôle qui n’existait
pas dans les versions antérieures d’ASP.NET 1.0 et
1.1.
Ce contrôle va tout simplement vous permettre de pouvoir
créer un formulaire demandant à l’utilisateur
un fichier, puis envoyer ce fichier sur le serveur une fois le
formulaire validé. Cela a été possible avant
en utilisant le contrôle HTML Input (File), puis en transformant
ce contrôle en contrôle HTML serveur. Mais cette manipulation
n’était pas évidente pour les débutants
donc l’équipe ASP.NET a donc décidé
de créer un nouveau WebControl permettant de réaliser
cette tâche.
En allant donc dans votre boîte à outil de Visual
Studio dans l’onglet « Contrôles Web »,
vous allez pouvoir voir le nouveau contrôle « FileUpload
» :

Nous allons donc déposer ce contrôle sur notre «
WebForm » ainsi qu’un bouton pour valider l’envoi
de fichier. Dans le code qui sera appelé à l’évènement
« Click » du bouton, placez le code suivant :
voidbtnUpload_Click(objectsender,EventArgse)
{
//On vérifie si l'utilisateur a bien entré un fichier
dans le controle FileUpload
if (file.HasFile)
{
//On sauvegarde le fichier. Pensez bien a donné les droits
//nécessaires à l'utilisateur lançant l'application
web dans ce dossier.
file.PostedFile.SaveAs(@"c:\test\fichier.txt");
}
}
L’avantage avec ASP.NET 2 est que vous n’allez pas
avoir besoin de préciser l’attribut « enctype
» dans votre formulaire. Le processus ASP.NET le rajoutera
automatiquement si il détecte le contrôle «
FileUpload » ou encore le contrôle HTML Input (File).
En effet si vous exécutez votre application, vous allez
pouvoir voir dans les sources HTML :
<form method="post" action="FileUpload.aspx"
id="form1" enctype="multipart/form-data">
Il ne vous reste plus qu’à présent exécuter
votre application et faire un test d’envoi de fichier !
