copier fichier vers serveur

Signaler
Messages postés
49
Date d'inscription
lundi 22 mars 2004
Statut
Membre
Dernière intervention
5 décembre 2006
-
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
-
Bonjour

Je souhaite copier le fichier ( x.x qui se trouve dans une variable) qui est dans c:\TMP\ vers le serveur sans passer par une input type= "file". Comment fait on ?

Merci d'avance.

3 réponses

Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
21
Alors voila pour t'aider un petit bout de code:
(ce code marche avec le bouton permettant à l'utilisateur de cliquer sur parcourir et de choisir le fichier)

protected System.Web.UI.HtmlControls.HtmlInputFile fileSelector; // Bouton parcourir

string absoluteFilename;
string filename;
string folder = this.Server.MapPath(".") + @"\import"; //Dossier ou sera stocké le fichier

#region on vérifie si le répertoire existe bien; sinon, on le créé
//Si le répertoire n'existe pas, on le créé
DirectoryInfo di = new DirectoryInfo( folder );
if(!di.Exists)
{
try
{
di.Create();
}
catch(Exception erreur)
{
//Ce que tu veux s'il n'arrive pas a créer le répertoire Message renvoyé se trouve dans erreur.Message
}
}
#endregion


//On récupère le chemin du fichier chez l'utilisateur
absoluteFilename = fileSelector.PostedFile.FileName;
//On récupère le nom du fichier
filename = System.IO.Path.GetFileName(absoluteFilename);

#region On récupère le fichier
try
{
//On sauvegarde le fichier sur le serveur
fileSelector.PostedFile.SaveAs(folder + filename);
}
catch(Exception erreurFile)
{
//Ce que tu veux s'il n'arrive pas a créer le répertoire Message renvoyé se trouve dans erreurFile.Message
}
#endregion

Voila, j'espère que ca va marcher,

Bon courage à toi ! (nhésites pas a posé des questions)

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
2
Date d'inscription
mardi 8 septembre 2009
Statut
Membre
Dernière intervention
7 décembre 2009

slt!
je trouve ton code tres interressant, mais je voudrais savoir si possible sur ce partie:
string folder = this.Server.MapPath(".") + @"\import";
voila mon serveur est en apache et je voudrais savoir qu'est ce qu'on dois changer sur ce partie de code
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
21
Bonjour,

Ouh la, tu fais ressortir des vieux dossiers
Ce code date aujourd'hui.

Du moins, pour la partie qui t'intéresse, si tu codes en ASP.Net(C#), je te propose plutôt le code suivant qui est plus intéressant:
string folder = Server.MapPath("~/import");

Bonne journée,


Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------