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 :

comment ouvrir un fichier texte en javascript et récupérer son contenu?


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 8
    Points
    8
    Par défaut comment ouvrir un fichier texte en javascript et récupérer son contenu?
    bonjour tout le monde
    j'aimerai savoir si quelqu'un peut m'aider à récupérer le contenu d'un fichier texte avec javascript afin de l'envoyer dans un champs caché("hidden") d'un formulaire à une servlet pour traitement.
    c urgent et merci d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Envoyer le fichier via un input de type file ne fonctionne pas?
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    mais je ne veux pas que l'utilisateur voit le fichier à envoyer, avec le input de type file il y aura toujours le champs ou mettre le nom du fichier sur ma jsp non????

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Pour moi, ta demande n'est pas encore claire. Tu veux transférer un fichier du client vers le serveur à l'insu du visiteur?
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  5. #5
    Membre averti Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Points : 331
    Points
    331
    Par défaut
    Si ton fichier se trouve sur le poste client :

    Impossible seul un champs de type file permettra de récupérer du contenu
    sur le poste client.

  6. #6
    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 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    heu même avec un type file tu ne récupères pas le contenu mais le path ...

    la SEULE possibilité en javascript est de passer par ajax et de faire une requete locale, le responseText te donner le contenu.

    Sinon en fonction du couple OS / browser voir au moyen des activeX ...
    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 !

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    je n'ai jamais utilisé ajax, tu peux m'éclairer comment puis je le faire?

  8. #8
    Membre averti Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Points : 331
    Points
    331
    Par défaut
    Avec l'input file tu peux seulement afficher boite de dialogue de selection.
    Acceder a une donnée en locale est impossible en javascript.

    il faut utiliser un ActiveX ou un Plug in java signe pour faire ça en tache de fond.

    En clair à moins d'avoir une tres bonne raison pour le faire il vaut mieux trouver un autre moyen.
    Pourquoi veux tu lire un fichier sur le poste client ?

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    merci pour ta réponse.
    je veux lire le fichier sur le poste client car j'ai un navigateur qui me collecte certaines informations et me les met dans un fichier texte, et donc je veux envoyer son contenu à une servlet pour un traitement ( et probablement une sauvegarde en base de données). j'ai pensé à utiliser le plug in d'apache "fileupload" mais c'est toujours à travers un input de type file, à moins que je cache le formulaire qui contiendra le input file et de l'envoyer à la servlet à travers un POST en utlisant javascript. j'espère que j'ai été assez claire.

  10. #10
    Membre averti Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Points : 331
    Points
    331
    Par défaut
    je veux lire le fichier sur le poste client car j'ai un navigateur qui me collecte certaines informations et me les met dans un fichier texte
    ça existe ? Je crois que j'ai pas tout compris.
    Quelle type donnée de écrit t'il ?

    Pourquoi le navigateur n'expédie t'il pas le fichier de lui même vers un serveur comme le font FF et IE ?

    Sinon via HTML javascript AJAX il faut l accord de l utilisateur + il faut qu'il selectionne le fichier de lui même. pas D alternative de cote la.
    Tu ne peux pas feinter la securité en cachant le champs d'input.
    L utilisateur doit faire et valider l operation.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    ok merci. je vais essayer de trouver un autre moyen

  12. #12
    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 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    Sinon via HTML javascript AJAX il faut l accord de l utilisateur + il faut qu'il selectionne le fichier de lui même. pas D alternative de cote la.
    Tu ne peux pas feinter la securité en cachant le champs d'input.
    L utilisateur doit faire et valider l operation.
    heu à ma connaissance on peut faire un httprequest en local sans l'accord du client sur un fichier prédéfini
    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 !

  13. #13
    Membre averti Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Points : 331
    Points
    331
    Par défaut
    Si c'est possible alors,
    C'est un trou de sécurité béant qui va entraîner tres prochainement entraîner le blocage du HTTPrequester dans toutes le entreprises et par tout les antivirus digne de ce nom.
    Il me semble que sous IE 5.5 il y a toujours ce trou de securité (ad vitam ??).
    Si c'est possible sous les browser actuelle explique moi comment.
    Je suis tres impatient de l'utiliser

  14. #14
    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 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    attention ne nous méprenons pas je parle de faire tourner en local un appel ajax à un fichier donc fichier appelant et fichier appelé avec racine commune.
    je n'ai pas testé si in peut appeler un fichier dont la racine serait différente, et je crois pouvoir dire qu'en effet là c'est impossible car ce serait en effet une faille énoooooooorme.
    J'avoue ne pas avoir suvi exactement le but de la manoeuvre ...
    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 !

  15. #15
    Membre averti Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Points : 331
    Points
    331
    Par défaut
    Effectivement j'ai deja lu qu'on pouvait faire ce type d'appel selon l'ActiveX utilisé sous IE (avec Msxml2.DOMDocument).
    Mais je suis comme toi l'utilité sous jacente de la chose m'echappe terriblement.
    Ici si j'ai bien compris mia10 essaie la page Web semble hebergée sur son serveur web par consequent pas d echapatoire hors plug in Java signé (ou installation d autre plug-in).
    Mon avis est qu'il vaut mieux qu'il reflechisse fortement a pourquoi il doit lire un fichier sur le poste client, j ai pas compris quel était le contenu du fichier.

    Bon courage

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Un cookie? N'est ce pas une solution?
    S'il s'agit de récolter des données sur le parcours du visiteur dans le site par exemple???
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    effectivement j'ai pensé au cookies, mais comment récupérer ces données là à partir du fichier se trouvant sur le poste client??? comment pourrais je ouvrir ce fichier? tel est mon problème

  18. #18
    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 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    un vieux script qui trainait dasn le fond d'un tiroir:

    Pour utiliser ce script, mettez ce fichier sur votre site, insérer dans le code HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script language="javascript" src="Cook.js">
    	//À la place de "Cook.js", insérez l'URL relative vers ce fichier
    </script>
    puis (pour stocker un cookie) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script language="javascript">
    	setcook(" nom_du_cookie "," valeur_du_cookie ");
    </script>
    (pour consulter un cookie) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script language="javascript">
    	var cook=getcook(" nom_du_cookie ");
    </script>
    */

    puis le fichier js par lui même
    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
    //Fonction de retrait des cookies
    function getcook(nom) {
    	var arg=nom+"=";
    	var alen=arg.length;
    	var clen=document.cookie.length;
    	var i=0;
    	while (i<clen) {
    		var j=i+alen;
    		if (document.cookie.substring(i,j)==arg) {
    			var endstr=document.cookie.indexOf (";",j);
    			if (endstr==-1)	{endstr=clen;}
    			return unescape(document.cookie.substring(j, endstr));
                }
    		i=document.cookie.indexOf(" ",i)+1;
            if (i==0) {break;}
    		}
    	return null;
    }
     
    //Fonction de dépot des cookies
    function setcook(nom,valeur) {
    	if (nom!="") {
    		if (valeur!="") {
    			document.cookie=nom+"="+escape(valeur);
    		}
    	}
    }
    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 !

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    merci pour ton aide. mais je ne sais toujours pas comment ouvrir le fichier texte qui se trouve sur le client. je vais essayer d'être un peu plus claire, les données que je voudrais transmettre à la servlet sont dans un fichiers texte sur le client, donc ce sont ces données là que je veux mettre dans les cookies en suivant tes explications, mais je ne sais pas comment y avoir accès pour les mettre dans ces cookies.

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Je crois avoir décelé dans les différentes interventions un certain consensus pour dire que ce que tu demandes est impossible à faire.
    En claire, il n'est pas possible de lire un fichier sur le poste client sans en demander préalablement l'autorisation au visiteur.
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

Discussions similaires

  1. Comment ouvrir un fichier texte et le remplir
    Par dessinateurttuyen dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 07/01/2013, 11h37
  2. Comment ouvrir un fichier text sous Java ?
    Par mpascolo dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 11/10/2006, 15h59
  3. Comment écrire un fichier texte au format MS-DOS ?
    Par fredfred dans le forum Langage
    Réponses: 9
    Dernier message: 20/01/2005, 10h00
  4. Comment ouvrir un Fichier d'aide perso
    Par NoBru dans le forum Access
    Réponses: 4
    Dernier message: 09/12/2004, 09h43

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