Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Upload FTP [ Réseau & Internet / Client - Serveur ] (ansizak)

jeudi 10 juillet 2008 à 15:17:01 | Upload FTP

ansizak

Bonjour,

Je travaille actuellement sur un programme dans lequel je dois effectuer un upload des fichiers contenus dans un repertoire.

J'utilise la procédure suivante:

WebClient wc = new WebClient();
            foreach (string image in System.IO.Directory.GetFiles("c:\\KK\\temp\\temp2"))
            {
               
                   wc.UploadFile("ftp://" + Settings_var.log + ":" + Settings_var.pass + "@" + Settings_var.host, "STOR", image);
            
            }


Malheureusement, il ne se produit absolument rien.
En plaçant un espion sur l'expression "wc.UploadFile("ftp://" + Settings_var.log + ":" + Settings_var.pass + "@" + Settings_var.host, "STOR", image);" apparait le message suivant: "cette expression provoque des effets secondaires et ne sera pas évaluée...

J'ai tenté d'utiliser la librairie EDTFTP via le code suivant:

FTPClient ftp = new FTPClient(Settings_var.host);
            ftp.Login(Settings_var.log, Settings_var.pass);
            foreach (string image in System.IO.Directory.GetFiles("c:\\KK\\temp\\temp2"))
            {
                ftp.Put(image, image, true);
            }
Même résultat: rien et toujours le même message sur l'espion...

Auriez vous une idée ?

En vous remerciant par avance,
Cordialement,
Anz.


vendredi 11 juillet 2008 à 18:23:36 | Re : Upload FTP

ansizak

Toujours pas d'idées ? :s


vendredi 11 juillet 2008 à 19:42:29 | Re : Upload FTP

niky

Membre Club
Salut,

Je me permet de te répondre ne te proposant une autre solution que celle que tu emploies.

Le code suivant permet d'obtenir un flux ouvert en écriture sur un serveur FTP :

            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://domaine.com/fichier.ext");
            CredentialCache cred = new CredentialCache();
            cred.Add("ftp://domaine.com/fichier.ext",
                        "Basic",
                        new NetworkCredential("login", "password"));
            request.Credentials = cred;
            request.Method = WebRequestMethods.Ftp.UploadFile;
            System.IO.Stream stream = request.GetRequestStream();

J'espère que ça pourra t'aider.

dimanche 13 juillet 2008 à 21:22:57 | Re : Upload FTP

ansizak

Bonjour et merci à toi,

Je n'arrive pas à saisir à quel moment tu définit le path en local du fichier à envoyer vers le ftp.
Pourrais-tu m'éclaircir ce point ?

Merci encore de ton attention,
Cordialement,

Anz.

dimanche 13 juillet 2008 à 21:54:49 | Re : Upload FTP

niky

Membre Club
C'est que je ne le défini pas.
Lorsque tu fais appelles à request.GetRequestStream(), tu obtiens un flux ouvert en écriture. A toi d'écrire ce que tu veux dedans.

Typiquement, à toi d'ouvrir un fichier en lecture et d'écrire ce que tu lis dans le flux FTP.


lundi 14 juillet 2008 à 14:49:20 | Re : Upload FTP

ansizak

Hmm,
Donc la méthode getRequestStream() ouvre une boîte de dialogue ? Parce qu' au final, j'ai toujours du mal à saisir à quel moment il va m'être proposé de définir le chemin vers le fichier.

Mais je vais tester ça et revenir vers toi en cas d'incompréhension. Merci encore.

lundi 14 juillet 2008 à 15:07:51 | Re : Upload FTP

niky

Membre Club

V'là la solution :

            // Ouverture d'un fichier
            using (System.IO.FileStream fs = new System.IO.FileStream(@"c:\monfichier.txt", System.IO.FileAccess.Read))
            {
                // Déclaration d'un tampon de lecture de 255 octets (c'est arbitraire comme valeur)
                byte[] buffer = new byte[0xff];
                int count = 0;
                // Lit dans le fichier jusqu'à arriver au bout du fichier
                while ((count = fs.Read(buffer, 0, 0xff)) > 0)
                {
                    // Ecrit dans le flux FTP
                    stream.Write(buffer, 0, count);
                }
            }

// ... et on n'oublie pas de fermer le flux FTP
stream.Close();
stream.Dispose();



mardi 15 juillet 2008 à 21:43:02 | Re : Upload FTP

ansizak

Oki merci bien :)

Sinon une idée de la signification de la phrase : ""cette expression provoque des effets secondaires et ne sera pas évaluée" ?
Car maintenant elle apparait sur des méthodes qui fonctionnait très bien jusqu'alors et qui se mettent tout à coup à ne plus fonctionner: du style System.IO.Directory.Getfilename...

Cordialement,
Anz

mardi 15 juillet 2008 à 21:51:58 | Re : Upload FTP

niky

Membre Club
Réponse acceptée !
Le débuggeur de Visual Studio te permet de visualiser l'état de tes variables en temps réel. C'est à dire que tu peux parcourir l'état mémoire des classes avec liens qui les unissent et la valeur des attributs.
Toutefois, comment veux-tu que Visual Studio t'affiche le résultat d'une méthode ? Pour qu'il puisse le faire, il faudrait qu'il l'exécute. Mais s'il l'exécute, est-ce que cette exécution est réversible ? (exemple : la méthode supprime tous les fichiers du disque et renvoie le nombre de fichiers supprimés) est-ce que cette méthode est exécutable ? (exemple : ses préconditions ne sont remplies dans l'état actuel du programme / la méthode prend des arguments... comment Visual Studio doit-il les remplir ?), etc.

C'est pourquoi il te dit : "Cette expression provoque des effets secondaires et ne sera pas évaluée".



Cette discussion est classé dans : ftp, upload, image, var, settings


Répondre à ce message

Sujets en rapport avec ce message

Mise à jour du contrôle Image [ par cantonaifou ] Cette fois ci j'ai un pb avec la mise à jour d'une image. Je m'explique. Dans mon prog je fait l'upload d'images via mon interface web que j'affiche [C#] Upload fichier par ftp [ par Nichiren ] Bonjour,je souhaite créer un petit logiciel qui au lancement crée un serveur ftp , et qui a la possibilité d'envoyer un fichier ftp sur un autre ftp. fonction récursive [ par khabdou ] Salut,j'ai un problem au cours de l'execution du code développer avec VS2005(enoncé aprés) il se lance une exception de type "System.StackOverflowExce Intégrer image dans Visual Studio 2005 [ par sondos01 ] < Evenement [ par lilia123 ] BonjourJ'ai des images crées dynamiquement dans une fenetre et je veux gérer l'événement click sur chaque image.Le problème ce que lorsque je clique s Evenement [ par inesmtibaa ] BonjourJ'ai plusieurs groupbox, crée dynamiquement, contiennent chacune un bouton et une image.Je veux que l'effet d'un click sur un bouton se produit [DEPLACE] Upload d'un fichier [ par karasnake ] Bonjour, Dans le cadre de mon stage je dois effectuer l'upload d'un fichier vidéo en csharp selon mon maitre de stage le php n'est pas fait pour les t rotation d'image [ par gabs77 ] bonjour,je fais actuellement un projet auquel je souhaite faire une rotation d'image or la rotation d'image se fait a l'angle Top,Left et j'aimerais p Image dans un Richtextbox [ par bmouget ] Bonjour,En faisant un Drag and Drop d'une image dans un richtextbox, l'image n'apparait pas et à la place j'ai un icon avec le nom et l'extention du f Copyfromscreen, question pour spécialiste [ par olibara ] Bonjour Je me casse la tete a comprendre un truc qui ne marche pas comme je veux Explication Sur un PB j'ai des tas de point, images et trucs de


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.