IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Transfert FTP - fichier n'existe pas [WD25]


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2023
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2023
    Messages : 5
    Par défaut Transfert FTP - fichier n'existe pas
    Bonjour

    Je fais face à un problème avec Windev dernière.
    À titre d'info, je suis sur Windev 27 et non pas 25.

    Je tente de faire un transfert FTP à un serveur qui a déjà fonctionné sous Windev 22 mais plus sous Windev 27.
    Les transferts fonctionne toujours par Filezilla. J'utilise la même connexion autant pour Filezilla que pour Windev.
    J'arrive à faire une connexion avec le serveur. J'arrive même à transférer un fichier du serveur vers ma machine mais l'inverse ne fonctionne pas.

    Voici un exemple de mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    	 eIDConnexion		= FTPConnecte("ftpes://monaddresseniania", "monutilisateur", "monmotdepasse")
     
    	 SI eIDConnexion < 0 ALORS
    	 	l_sMessageErreur += [RC] + "Impossible de se connecter au serveur FTP pour l'instant ! " + RC + ErreurInfo(errComplet)
    	 	l_bTransfertReussi = Faux
     
    	 	HLitSuivant(REQ_WINV100_ListeConnTransfertImgFTP)
    	  	CONTINUER
    	 FIN
     
    	 SI FTPFichierExiste(eIDConnexion , "/test.jpg") ALORS
    	 	SI FTPRécupèreFichier(eIDConnexion, "/test.jpg", "C:\Test\") ALORS
    	 		Trace("Transfert <= Réussi")
    	 	FIN	
    	 FIN
     
    	 SI FTPSupprimeFichier(eIDConnexion, "/test.jpg") = Vrai ALORS
    	 	Trace("Suppression Réussi")
    	 FIN
     
    	 SI PAS FTPEnvoie(eIDConnexion, "C:\Test\test.jpg","/") ALORS
    	 	Erreur(ErreurInfo(errComplet))
    	 	l_bTransfertReussi = Faux
    	 	FTPDéconnecte(eIDConnexion)
     
    	 	HLitSuivant(REQ_Requeteniania)
    	 	CONTINUER
    	 FIN
    	 FTPDéconnecte(eIDConnexion)
    Alors, je commence mon code par une connexion qui me retourne 0. Si je suis la librairie windev, tout est bon.
    Ensuite je lance un transfert du fichier test.jpg du rep ftp vers ma machine. Ça fonctionne.
    Ensuite je supprime le fichier test.jpg du répertoire ftp. Ça fonctionne.
    Puis, arrive le bout que je n'arrive pas à réglé.
    Je tente de transférer le même fichier C:\Test\test.jpg.
    Résultat :

    Appel WL :
    Traitement de 'Procédure locale lbEnvoiFTPFichierImage' (fen_mafenetreniania.PROCEDURE.lbEnvoiFTPFichierImage), ligne 99
    Fonction 'FTPEnvoie', syntaxe 0

    Que s'est-il passé ?
    Le fichier ou le répertoire test.jpg n'existe pas ou est inaccessible.

    Code erreur : 100005
    Niveau : erreur non fatale

    Message d'erreur système :
    Fichier transféré partiellement.
    Module : wd270com.dll (01F270104h - 27.0.362.3)

    Informations de débogage :
    Fonction (10,1)
    Informations supplémentaires :
    EIT_PILEWL :
    Procédure locale lbEnvoiFTPFichierImage (fen_mafenetreniania.PROCEDURE.lbEnvoiFTPFichierImage), ligne 99
    Clic sur Btn_EnvoiPhoto1 (fen_mafenetreniania.Btn_EnvoiPhoto1), ligne 15
    EIT_DATEHEURE : 10/02/2023 10:46:46
    EIT_TYPE_WDFILE : <2>
    EIT_IDCODE : <458752>
    Et là, en voyant ça, je me dit que le transfert a échoué.
    Mais non, le fichier est transféré mais partiellement. L'image est coupé (cropped)
    Le fichier que je transfert à l'origine fait 648 ko alors que le fichier sur le répertoire fait 442 ko

    Autre détail, si le fichier fait moins de 16 ko, tout fonctionne comme dans du beurre.

    J'ai tenté de modifier la duré de ma connexion.
    Tenté des connexions avec ftp, ftps et même ftpes. Uniquement la ftpes fonctionne.
    J'ai tenté de mettre le fichier dans le repertoire du projet Windev.
    J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FTPEnvoie(eIDConnexion, "C:\Test\test.jpg","/")
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FTPEnvoie(eIDConnexion, "C:\Test\test.jpg","/test.jpg")
    Rien ne semble fonctionner

    Est-ce que quelqu'un a déjà eu ce genre de problème ?
    Merci pour votre aide.

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 392
    Par défaut
    Bonjour,

    Je ne rencontre pas ce type d'anomalie mais un test à faire serait d'ajouter une attente de 10-20 secondes pour vérifier si la suppression du fichier FTP n'interfère pas avec la récupération.
    Je sais, la fonction de récupération est bloquante mais étant donné que le phénomène est étrange, autant être sûr.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2023
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2023
    Messages : 5
    Par défaut
    Bonjour,

    Merci beaucoup pour votre réponse.
    L'erreur survient même lorsque je n'ai pas le FTPSupprimeFichier.
    Je voulais simplement savoir si c'était possible de supprimer et d'obtenir un fichier de ce même répertoire FTP. Et c'est le cas.
    Si la réception et la suppression fonctionne, je ne vois toujours pas pourquoi l'envoie ne fonctionne pas.
    Je n'ai toujours pas trouvé de solution.
    Toujours à la recherche

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 392
    Par défaut
    je viens de voir qu'il n'y a pas de nom de fichier pour la destination.
    A mon avis, à tester en mettant le même nom que le fichier à envoyer.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2023
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2023
    Messages : 5
    Par défaut
    Il me semble que j'ai essayé cet option mais j'ai voulu revérifier.
    J'ai donc mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SI PAS FTPEnvoie(l_eIDConnexion,"C:\test\Test.jpg","/Test.jpg") ALORS
    	Erreur(ErreurInfo(errComplet))
    	FTPDéconnecte(l_eIDConnexion)
    	RENVOYER Faux
    FIN
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SI PAS FTPEnvoie(l_eIDConnexion,"C:\test\Test.jpg","/") ALORS
    	Erreur(ErreurInfo(errComplet))
    	FTPDéconnecte(l_eIDConnexion)
    	RENVOYER Faux
    FIN

    Résultat :

    Appel WL :
    Traitement de 'Procédure locale lbEnvoiFTPFichierImage' (fen_mafenetreniania.PROCEDURE.lbEnvoiFTPFichierImage), ligne 35
    Fonction 'FTPEnvoie', syntaxe 0

    Que s'est-il passé ?
    Le fichier ou le répertoire /Test.jpg n'existe pas ou est inaccessible.

    Code erreur : 100005
    Niveau : erreur non fatale

    Message d'erreur système :
    Fichier transféré partiellement.
    Module : wd270com.dll (01F270104h - 27.0.362.3)

    Informations de débogage :
    Fonction (10,1)
    Informations supplémentaires :
    EIT_PILEWL :
    Procédure locale lbEnvoiFTPFichierImage (fen_mafenetreniania.PROCEDURE.lbEnvoiFTPFichierImage), ligne 35
    Clic sur Btn_EnvoiPhoto1 (fen_WINV100_02.Btn_EnvoiPhoto1), ligne 15
    EIT_DATEHEURE : 22/02/2023 11:34:41
    EIT_TYPE_WDFILE : <2>
    EIT_IDCODE : <458752>

    Si je vérifie le répertoire FTP, il y a un fichier Test.jpg avec une taille 1409 Ko alors que le fichier d'origine en fait 1502 Ko.
    Si j'essaie avec une autre image avec une taille de 599 Ko, le résultat du fichier reçu est de 560 Ko.
    Le deux me donne le message d'erreur et les images sont incomplète dans le bas.


    J'ai communiqué avec les gestionnaires du répertoire. Ils disent que le problème est de notre côté.
    Je ne peux pas vraiment le nier car Filezilla fonctionne correctement. Il s'agit d'un problème avec Windev.

    Connaissez vous une autre manière de transférer des fichiers ? DLL ? WebService ? n'importe quoi rendu là.

  6. #6
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 392
    Par défaut
    Tous mes appels FTP se font par Windev : récupération, liste, envoi.
    Essaye sans le "/".

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2023
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2023
    Messages : 5
    Par défaut
    Merci beaucoup pour ta réponse.

    J'ai essayé également sans le /. Même résultat.

    J'ai vérifié la version de Windev et j'ai bien la dernière version possible.
    Par contre, comme j'ai dit précédemment, il s'agit d'un projet que nous avons migré de la version 22 à la version 27.
    Alors, ayant toujours la version en 22, j'ai décidé de faire un test.
    J'ai ré-ouvert la version 22 et réessayer cette section et voilà ... ça fonctionne.

    Alors, je vais faire un dernier test, soit de créer un tout nouveau projet en 27 et tester cette section de code.
    Advenant que ça ne fonctionne toujours pas, je vais simplement créé une application en 22 que je pourrai appelé par mon projet principal en 27.

    Je vous tiens au courant des prochains développements.

  8. #8
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 392
    Par défaut
    Maintenant que tu m'en parles, ça me rappelle vaguement quelque chose sur la passage de version et le FTP.

    As-tu essayé d'utiliser FTPRepEnCours() pour l'identifier ou le modifier ?
    Si de base, tu arrives à la racine de l'arborescence, force un petit FTPRepEnCours(Id, ""), histoire de.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2023
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2023
    Messages : 5
    Par défaut
    Bonne nouvelle, mon problème est finalement réglé.

    J'ai fait beaucoup de test. J'ai testé mon code avec Windev 22 jusqu'à 27.
    De Windev 22 à 24, mon code fonctionnait très bien sans modification.
    De 25 à 27, j'avais toujours le même bug.
    J'ai communiqué avec PC Soft et ils ont recommandé de tester avec leur exemples de transfert FTP.
    Après avoir essayé, le transfert fonctionnais avec leur projet. Alors, je me suis dit, on va analyser la chose et voir ce qu'il me manque.

    Je peux voir que dans le fond, il me manquait deux choses.
    De un, il me manquait le FTPRepEnCours.

    Ensuite, dans la FTPEnvoie, le quatrième paramêtre est une procédure qui peut être appelé pour soit disant contrôler la progression du transfert.
    J'ai donc ajouté cette procédure que j'ai appelé. Au départ, je me disais que je pourrait simplement la laissé vide.
    Et bien non, cette procédure fournie deux paramêtres qui doivent absolument être utilisés.
    Alors, je mettais simplement ces deux valeurs dans une trace et bingo, le transfert s'est mis à fonctionner.
    Par contre, si comme moi, vous ne voulez pas avoir de fenêtre trace qui s'ouvre à chaque transfert, vous pouvez simplement les faire afficher dans une zone de saisie multiligne que vous rendez invisible.

    Avec tout ça, j'ai encore l'erreur parfois mais une fois sur 20 environ et lorsque ça arrive, je relance simplement un transfert. Alors de mon côté, c'est acceptable.

    Un gros merci pour ton aide Lo²

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/08/2011, 14h44
  2. Réponses: 4
    Dernier message: 08/09/2008, 11h06
  3. fopen, fichier n'existe pas, Exception message
    Par pierremx dans le forum C
    Réponses: 3
    Dernier message: 10/12/2007, 13h50
  4. redirection si fichier n'existe pas
    Par gforce dans le forum Apache
    Réponses: 3
    Dernier message: 30/04/2007, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo