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

JavaScript Discussion :

Tester si un fichier existe


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 534
    Par défaut Tester si un fichier existe
    Hello,

    Dans un module JS j'ai besoin de savoir si un fichier de config existe, ou non, dans un dossier.
    Le net regorge d'exemples de ce type là, en gros:
    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
    function existFile()
    {
    alert("1");
            var fso = new ActiveXObject("Scripting.FileSystemObject");  
    alert("2");  
     
            if (fso.FileExists("C:\\Temp\\myFolder\\file.txt")) {  
                alert("File.txt exists.");  
                return true;
            }  
            else {  
                alert("File.txt does not exist.");  
                return false;
            }  
    }
    Problème: à chaque fois ça pète sur var fso = new ActiveXObject("Scripting.FileSystemObject"); , mon alert("2") ne s'affichant jamais!
    -> une idée pourquoi?
    -> lié à ma config? j'ai quand même du mal à croire que tout ce que je trouve en ligne soit foireux...
    -> ou autre solution pour tester, peut être?

    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    parce que la sécurité de ton navigateur ne te permet pas d'utiliser fso ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    J'ai essayé avec AJAX...

    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
    function fileExists(file){
    	var xhr=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject('Msxml2.XMLHTTP'),r;
    	if(!xhr)return !1;
    	try{
    		xhr.open('HEAD',file,false);
    		xhr.send(null);
    		r=(xhr.status==200||xhr.status==304);
    	}catch(e){
    		r=!1;
    	}
    	return r;
    };
     
    var ok=fileExists('fichier_de_configuration.txt');
     
    alert( ok ? 'Fichier existant' : 'Fichier non trouvé ou erreur lors de son accès' );
    Quand le fichier existe, il n'y a pas de soucis mais dans le cas contraire on a le message

    NS_ERROR_DOM_BAD_URI: Access to restricted URI denied...

    dans la console.

    Ce qui va dans le sens de la réponse de SpaceFrog.

    J'ai donc été obligé d'utiliser try{} catch{} pour ne pas bloquer le script et ne plus avoir ce message.

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 534
    Par défaut
    Comme je n'attends pas que ça tombe tout cuit, j'ai continué mes recherches, et oui de toute façon l'activeX ce n'est pas la bonne méthode visiblement (sécurité, config browser & Cie), je vais creuser ça avec ton code ajax.

    Question complémentaire, cependant, à propos de JS:
    1.) le path vers le fichier est à donner comment?
    -> absolu? quelle forme? "d:\temp\fichier.tst"? "d:\\temp\\fichier.tst"? "d:/temp/fichier.tst"?
    -> relatif par rapport au dossier du script?

    un avis?

  5. #5
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 119
    Billets dans le blog
    1
    Par défaut
    A mon avis ta methode commence a dater !!

    Dependra du navigateur que tu veux utiliser ?
    Dependra si tu veux faire une application Web avec ou autre application ?


    SI juste pour lire des fichier en local regarde plutot les nouvelles API blod, pour firefox
    et pour chrome des hack aussi existent pour outre passer la securité en local
    pour IE ca devrait marcher le activeXobject

    les fichier JS inclus dans le . html leur path est relatif au fichier .html y compris si dans les fichiers inclus des apples vers d'autres fichiers
    Si tu veux changer le path t as la balise html <base href=""> pour specfier la racine


    Voila , j espere que ca va t aider

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 534
    Par défaut
    ok merci à tous.

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

Discussions similaires

  1. code pour tester si un fichier existe?
    Par toutounesan dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 10/11/2007, 18h11
  2. comment tester qu'un fichier existe bien
    Par adilou1981 dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2007, 09h57
  3. [C#][2.0] Comment tester si un fichier existe?
    Par just1980 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/12/2006, 12h22
  4. [Excel] Tester si le fichier existe
    Par wanou44 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/09/2006, 10h20
  5. [langage] tester si un fichier existe
    Par schnecke dans le forum Langage
    Réponses: 3
    Dernier message: 02/03/2004, 11h24

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