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...
cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 20087 15 juil. 2008 à 21:51
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".
cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 20087 13 juil. 2008 à 21:54
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.
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011 14 juil. 2008 à 14:49
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.
cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 20087 14 juil. 2008 à 15:07
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();
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011 15 juil. 2008 à 21:43
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...