Problème lors de la mise à jour de mes fichiers sur serveur

Résolu
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008 - 15 mars 2006 à 03:01
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008 - 22 mars 2006 à 21:24
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

24 ans Messages postés 231 Date d'inscription lundi 27 novembre 2000 Statut Membre Dernière intervention 7 juillet 2008 2
15 mars 2006 à 10:39
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
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
15 mars 2006 à 08:57
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#]
0
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008
15 mars 2006 à 22:09
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
0
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008
22 mars 2006 à 19:04
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008
22 mars 2006 à 21:24
Ok j'ai compris. Il ne faut pas mettre ftp:// dans ServerAdress


Mathmax
0
Rejoignez-nous