Envoyer un fichier vers le serveur (ASP)


La méthode la plus courante pour envoyer un fichier sur un serveur consiste à utiliser un protocole FTP (
cliquez ici), mais encore faut-il pour cela que le serveur dispose d'une fonction de serveur FTP.

Une autre méthode consiste à utiliser un formulaire html de type "multipart/form-data" qui permet d'envoyer les octets du fichier sous forme codée.
Dans ce cas, il faut disposer sur le serveur d'un executable capable de récupérer le fichier et de le recopier à l'emplacement choisi sur le serveur.
L'ASP ne permet pas directement de récupérer des fichiers envoyés par un formulaire html. Quelques composants sont disponibles commercialement pour permettre cette opération.

Quand il ne s'agit que de transmettre des données au format texte, il suffit de les envoyer par un formulaire html à un fichier asp qui se chargera de les recopier dans un fichier.
La méthode POST, qui présente l'avantage (sur la méthode GET) de ne pas être limitée en volume de données transférées est vivement recommandée :
Pour transférer les données depuis le fichier source vers le formulaire, on peut utiliser un VBScript, qui pourra d'ailleurs être contenu dans la page html contanant le formulaire.
(on peut aussi lancer directement un VBScript qui va créer une page html contenant le formulaire prérenseigné puis l'envoyer au serveur).

Cliquez ici pour voir le code de la page html.
La page se compose d'un premier formulaire dans lequel l'utilisateur saisit l'adresse du fichier à uploader et l'adresse du fichier de destination sur le serveur.
Ce formulaire (méthode GET), une fois rempli, pointe sur la même page qui détecte la présence d'une chaine d'informations contenant le nom du fichier à lire.
Le VBScript lit le fichier et en recopie le texte dans un second formulaire qui est cette fois expédié par la méthode post vers un fichier "copie.asp" placé sur le serveur.
Le fichier copie.asp va recevoir deux données, le contenu (texte) du fichier, et l'adresse du fichier dans lequel il doit recopier les données.

Côté serveur, le fichier copie.asp doit d'abord récupérer les données qui lui ont été transmises par le formulaire post en utilisant "Request.QueryString". Il lui suffit alors d'ouvrir en écriture (ou en appending si on veut pouvoir accumuler sur le même fichier les données transmises en plusieurs fois) le fichier dont l'adresse a été transmise.
(cliquez ici pour voir le fichier copie.asp).


Pour la méthode utilisant un VBScript pour créer et renseigner le formulaire, cliquez ici.
Principal avantage, la méthode est utilisable avec les navigateurs qui refusent le VBScript.