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

WebDev Discussion :

Erreur de nom de fichier avec ZIP (Fonction d'archivage)


Sujet :

WebDev

  1. #1
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 418
    Points : 179
    Points
    179
    Par défaut Erreur de nom de fichier avec ZIP (Fonction d'archivage)
    Bonjour,
    J'ai réalisé un projet tout simple qui permet de sauvegarder les fichiers, soit par nom de fichier, soit par nom de répertoire
    Dans les deux cas, les fonctions d'archivage signalent un nom de fichier erroné
    Voici un exemple de nom qui crée cette erreur

    LaunchImage-Landscape@2x~ipad.png

    Voici le code, "fichier"
    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
     
    		//	Ajout des fichiers
    	nTaille=0; sListeSauve="";nLigne=0
    	POUR TOUT tabBatchSauve AVEC NomBatchIdentSauve=[gsNomBatch,"F"]
    ////		nTaille=nTaille+ftaille(tabBatchSauve.CompletSauve)
    		sListeSauve=sListeSauve+""+tabBatchSauve.CompletSauve+""+RC
    //		Nombre de fichiers
    	FIN
     	JAUGE_Sauvegarde.BorneMax	= nTotalFicF
    	JAUGE_Sauvegarde.BorneMin	= 1
    	JAUGE_Sauvegarde.Visible	= Vrai
    ////	info("nTaille F "+nTaille)
    	nRésultat					= zipAjouteListeFichier(MonArchive,sListeSauve,zipAucun,JAUGE_Sauvegarde)
    	SI nRésultat<>0 ALORS
    		Beep()
    		BTN_Lancer..CurseurSouris	= curFlèche
    		FEN_Gestion..CurseurSouris	= curFlèche
    		Erreur("Ajout de fichier","Une erreur est survenu lors de la sauvegarde de :","",tabBatchSauve.CompletSauve,"",nRésultat+"   "+zipMsgErreur(nRésultat), ...
    		       " ","La sauvegarde n'a donc pas été effectuée")
    		Sablier(Faux)
    		RETOUR
    	FIN
    Voici le code "répertoire"
    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
     
    	POUR TOUT tabBatchSauve AVEC NomBatchIdentSauve=[gsNomBatch,"R"]
    		nTaille						= fRepTaille(tabBatchSauve.CompletSauve)
    		JAUGE_Sauvegarde.BorneMax	= nTaille
    		JAUGE_Sauvegarde.BorneMin	= 1
    		JAUGE_Sauvegarde.Visible=Vrai
     
     		nRésultat					= zipAjouteRépertoire(MonArchive,tabBatchSauve.CompletSauve,Vrai,zipRépertoire,JaugeCompression,JAUGE_Sauvegarde)
    		SI ((nRésultat<>0) ET (nRésultat<>7)) ALORS
    			Beep()
    			BTN_Lancer..CurseurSouris	= curFlèche
    			FEN_Gestion..CurseurSouris	= curFlèche
    			Erreur("Répertoire"", ""Une erreur est survenu lors de la sauvegarde de :","",tabBatchSauve.CompletSauve,"",nRésultat+"   "+zipMsgErreur(nRésultat))
    			Sablier(Faux)		
    			RETOUR
    		FIN
    	FIN
    Et voici le message d'erreur
    Nom : ErreurFichier.jpg
Affichages : 218
Taille : 35,8 Ko

    Comment éviter ?
    Cordialement
    SC

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 266
    Points
    5 266
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Le @ dans un nom de fichier, ce n'est pas tip top. Même si ce caractère n'est pas interdit, il peut prêter à confusion.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 418
    Points : 179
    Points
    179
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    Le @ dans un nom de fichier, ce n'est pas tip top. Même si ce caractère n'est pas interdit, il peut prêter à confusion.
    C'est vrais, mais un fichier de PcSoft ...
    L'incident c'est produit quand je sauvegardait l'exemple "WM Gestion de Commandes"
    Et seul Windows peut empêcher un utilisateur de se servir de caractère spéciaux
    Cordialement
    SC

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 266
    Points
    5 266
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par scn68100 Voir le message
    Et seul Windows peut empêcher un utilisateur de se servir de caractère spéciaux
    Non, on peut toujours utiliser VérifieExpressionRégulière avec l'expression régulière \W et interdire l'enregistrement du fichier en amont.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 418
    Points : 179
    Points
    179
    Par défaut
    Bonjour,
    C'est vrais, c'est une solution que j'avais envisagé
    Quand on fait la sauvegarde des fichiers, ce n'est pas trop lourd à mettre en place, mais quand on fait la sauvegarde des répertoires il faut vérifier chaque fichier de ce répertoire, et des sous répertoires !
    Pour finalement dire à l'utilisateur que l'on ne pourra pas sauvegarder ce fichier !
    Il risque de ne pas pouvoir modifier le nom de ce fichier, qui n'est peut pas de sa création
    j'espérais trouver une solution comme par exemple mettre le nom du fichier entre " (quote)
    Cordialement
    SC

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 266
    Points
    5 266
    Billets dans le blog
    1
    Par défaut
    Par ailleurs,
    Cela ne viendrait-il pas d'une longueur de chemin (260 ou 90 caractères en fonction de l'archive ?) On voit que le chemin est tronqué (pas d'extension)
    J'ai vu aussi que ta plate-forme était WM (c'est le forum WB ici.) N'y aurait il pas un pb d'UNICODE ou un pb de compatibilité (iOS, Android etc?)
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 418
    Points : 179
    Points
    179
    Par défaut
    Bonjour,

    Citation Envoyé par Voroltinquo Voir le message
    J'ai vu aussi que ta plate-forme était WM (c'est le forum WB ici.) N'y aurait il pas un pb d'UNICODE ou un pb de compatibilité (iOS, Android etc?)
    Je n'ai pas compris Je suis sur le forum Windev Webdev, ou je me trompe ?
    Mon projet est en Windev 26

    C'est juste, je n'avais pas remarqué qu'il manquait l'extension du fichier
    Est-ce un problème de longueur ? Je ne pense pas, car pour testé, je n'ai sauvegardé que ce fichier
    Et j'utilise une variable chaine ...

    Cordialement
    SC

  8. #8
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 266
    Points
    5 266
    Billets dans le blog
    1
    Par défaut
    Non ici c'est le Webdev, le Windev est .
    Il peut en général ce n'est pas gênant, c'est un problème commun aux 3. Mais tu auras certainement plus de réponses sur le Windev.

    Ceci dit le problème peut éventuellement venir du RC en fin de chaîne.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  9. #9
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 418
    Points : 179
    Points
    179
    Par défaut
    Merci de votre aide
    OK pour le forum
    Je ne pense pas que cela vienne du RC, car si je sauvegarde le répertoire, j'ai le même problème ...
    Cordialement
    SC

  10. #10
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 418
    Points : 179
    Points
    179
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Cela ne viendrait-il pas d'une longueur de chemin (260 ou 90 caractères en fonction de l'archive ?) On voit que le chemin est tronqué (pas d'extension)
    Bonjour,
    Cette remarque est précieuse et judicieuse !
    Cela m'a permis de constater que la rubrique qui me servait à mémoriser le chemin n'avait la longueur suffisante
    J'ai augmenté la taille, et maintenant la sauvegarde
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    zipAjouteListeFichier(MonArchive,sListeSauve,zipAucun,JAUGE_Sauvegarde)
    est OK

    Par contre j'ai toujours l'erreur N° : 1 Libellé : Le chemin fourni n'est pas valide quand je fais la sauvegarde par répertoire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    zipAjouteRépertoire(MonArchive,tabBatchSauve.CompletSauve,Vrai,zipRépertoire,JaugeCompression,JAUGE_Sauvegarde)
    Là, je ne voit pas comment intervenir, sauf par une solution de contournement, c'est dire créer la liste des fichiers contenus dans chaque répertoire et sous répertoire ...

    Cordialement SC

Discussions similaires

  1. Variable de nom de fichier avec echo, erreur bête
    Par papa6 dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 22/10/2018, 14h59
  2. Réponses: 20
    Dernier message: 25/09/2005, 15h07
  3. Ecriture dans un fichier avec la fonction AWK
    Par tux2005 dans le forum Linux
    Réponses: 2
    Dernier message: 21/07/2005, 10h58
  4. Réponses: 3
    Dernier message: 12/07/2005, 13h33
  5. changement de nom de fichier avec smartupload
    Par bourvil dans le forum ASP
    Réponses: 2
    Dernier message: 24/05/2004, 14h50

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