Problème lors de la mise à jour de mes fichiers sur serveur [Résolu]

Signaler
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Bonjour,
J'ai un problème lors de la mise à jour de mes fichiers sur mon serveur avec un programme C#. J'utilise en gros ce bout de code là :
http://msdn2.microsoft.com/fr-fr/library/system.net.ftpwebrequest.aspx (L'exemple de code suivant illustre l'utilisation d'opérations asynchrones pour télécharger un fichier vers un serveur FTP.). Sauf que comme je souhaite mettre tous les fichiers d'un dossier sur le serveur, j'ai ajouter ceci :



DirectoryInfo ImgFolder =
new
DirectoryInfo(
@"C:\Inetpub\wwwroot1\image\OrkosNews");

FileInfo[] Images = ImgFolder.GetFiles(
"*");

puis j'ai répété l'olgorithme en bouclant sur tous les fichier :


foreach (
FileInfo Image
in Images){....}

Le problème que j'ai est que au bout de 8 fichier copié, j'obtiens le message suivant pour le 9ème:
The remote server returned an error: (501) Syntax error in parameters or arguments.

J'ai essayé de modifier la valeur : de const int bufferLength en la mettant à 1024 puis 512.
Pour 1024, ça semble repousser le problème au 13ème fichier et pour 512, l'ensemble de mes fichiers passe.
Je ne vois pas trop pourquoi le fait de modifier ce paramètre change quelque chôse ni pourquoi j'obtiens ce message d'erreur.
Quelqu'un saurait-il me l'expliquer ?

Merci d'avance.


Mathmax

5 réponses

Messages postés
231
Date d'inscription
lundi 27 novembre 2000
Statut
Membre
Dernière intervention
7 juillet 2008
3
je te conseille d'utiliser cette DLL (edtFTPnet 1.2.2 ) qui se trouve ici http://www.enterprisedt.com/index.html
je l'ai testé et ça marcher très bien
ya plein de fonction dedan (Upload , Download , Getsize...)
si votre serveur FTP est derriere un FireWall il ya une propriete "ConnectMode"
qu'il faut la changer à ACTIVE elle est par défaut PASSIVE
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
tu essayes d'envoyer tous tes fichiers en même temps ou tu attends que l'un soit fini pour envoyer le suivant ?


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

J'ai l'impression que ça attends qu'un fichier soit fini pour envoyer le suivant (mais j'avoue ne pas tout comprendre au code proposé par msn et le mot asynchrone me gêne un peu car il signifie il me semble que justement le programme n'attends pas qu'un fichier soit fini pour envoyer le suivant. A moins que je me trompe ?). Mais celà pose t-il un problème au niveau du bufferLength ? Si oui pourquoi ?

En ce qui concerne la dll, j'ai vu qu'il y en avait une plus réçente (datant de février 2006). N'est-elle pas encore mieux ? Ce dont j'ai peur avec ces dll, c'est de ne pas avoir de documentation sur les fonctions qu'elles contienne...


Mathmax
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

J'ai téléchargé et essay cette DLL. Dans les propriétés de ma ftpconnection, j'ai remplis correctement les champs suivants : Password, UserName et ServerAdress. J'obtiens cependant le messaqe suivant :

Le nom demandé est valide et a été trouvé dans la base de données, mais il ne dispose pas des données associées recherchées

Savez-vous ce que celà veux dire et comment le corriger ?


Mathmax
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

Ok j'ai compris. Il ne faut pas mettre ftp:// dans ServerAdress


Mathmax