Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1342 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Applet] Ouvrir un fichier local dans un navigateur web

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Applet] Ouvrir un fichier local dans un navigateur web

n°1397223
bad11
Posté le 29-06-2006 à 14:24:05  profilanswer
 

Bonjour,
 
 
J'aimerais depuis mon applet java ouvrir un fichier situé sur le disque dur du client. Fichier préalablement créé par l'applet elle même.
 
Il s'agit d'un fichier XML et je souhaiterais l'ouvrir dans un navigateur web. J'ai signé mon applet dans les règles de l'art. Pas de problèmes la dessus.
 
Quand je test en local, l'applet ouvre bien mon fichier. Quand je la met sur le serveur, la nouvelle fenêtre ne s'ouvre pas.
 

Code :
  1. public void init() {
  2.       String path = "file:/C:/";
  3.       URL destination = new URL(new URL(path), "Jrex.xml" );
  4.       this.getAppletContext().showDocument(destination, "_blank" );
  5.     }


 
Voila l'erreur dans ma console javascript :
 
Erreur de sécurité : le contenu situé à http://www.XXXXXX.html?page=http:/ [...] rss091.xml ne peut pas charger de données ou établir un lien vers file:///C:/Jrex.xml.
 
J'ai testé le path avec localhost, avec 127.0.0.1 etc... rien n'y fait. Sachant que ceci marche en local, ne s'agierait-il pas d'une sécurité des browsers ?
 
Avez vous une idée ?
 
Merci d'avance.

Message cité 2 fois
Message édité par bad11 le 29-06-2006 à 14:34:14
mood
Publicité
Posté le 29-06-2006 à 14:24:05  profilanswer
 

n°1397938
leonhard
Posté le 30-06-2006 à 12:23:48  profilanswer
 

Ben l'idée est simple, une applet n'a absolument pas le droit d'accéder au disque local ! tu te rends compte des problèmes de sécurité que ça poserait ? ça voudrait dire que n'importe quelle page web pourrait alors se promener dans ton disque dur pour y chercher ou sauver ce qui l'intéresse... vachement dangereux.
 
Maintenant tu peux peut-être contourner cette limitation si l'applet ne doit tourner que chez toi (et aucun autre client), mais si c'est pour mettre sur un site web consultable par tout le monde oublie ça ne marchera jamais. Par contre une applet à le droit de lire et d'écrire des fichiers sur son serveur originel si jamais (enfin dans son codebase il me semble).

n°1397944
zapan666
Tout est relatif
Posté le 30-06-2006 à 12:28:00  profilanswer
 

bad11 a écrit :


Code :
  1. public void init() {
  2.       String path = "file:/C:/";
  3.     }




Et si je viens sur ton site avec mon linux, elle fait comment pour ouvrir ton fichier mon applet ?
 


---------------
my flick r - Just Tab it !
n°1397952
esox_ch
Posté le 30-06-2006 à 12:46:49  profilanswer
 

Tu peux s'il est signé et que le visiteur accepte ... Parcontre c'est vrai que c'est pas cool pour nous linuxsiens :(


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1398753
leonhard
Posté le 02-07-2006 à 11:08:01  profilanswer
 

j'ai jamais rien compris avec ces applets signés et j'aimerais bien qu'on m'explique. Si je suis un saloupiot qui veut attaquer un client par une applet, j'ai qu'à la signer et elle est réputée comme fiable ? Pour que ce soit sérieux, il faudrait au moins que le client ait dans son keyring mon certificat, obtenu par une voie fiable il me semble. Si une bonne âme voulait bien m'expliquer le fonctionnement de ce mécanisme (par la procédure pour signer, ça je sais faire, mais comment être certain qu'un applet qu'un inconnu à signé ne sera pas désastreuse pour ma bécanne)...
 
Pour la remarque de zapan666, tu veux dire qu'il existe des gens qui n'ont ni windows ni IE ? Parce que sur le site de M$ ils affirment que c'est une légende urbaine   :whistle:

n°1398754
gatsu35
Blablaté par Harko
Posté le 02-07-2006 à 11:19:21  profilanswer
 

bad11 a écrit :

Bonjour,
J'aimerais depuis mon applet java ouvrir un fichier situé sur le disque dur du client. Fichier préalablement créé par l'applet elle même.


La sécurité est très importante alors je pense que tu peux rêver d'avance
 

bad11 a écrit :


Il s'agit d'un fichier XML et je souhaiterais l'ouvrir dans un navigateur web. J'ai signé mon applet dans les règles de l'art. Pas de problèmes la dessus.
 
Quand je test en local, l'applet ouvre bien mon fichier. Quand je la met sur le serveur, la nouvelle fenêtre ne s'ouvre pas.


Pourquoi tu ne te baserais pas plutôt sur un système de cookies et d'infos stockées sur ton serveur. eT le fichier XML c'est ton serveur qui l'enverrai en fonction d'un id recupéré par les cookies. Bien si cookie désactivé ben DTC (au passage bien sur tu cryptes l'id dans le cookie pour qu'un petit malin ne s'amuse pas à modifier l'id dans le cookie
 
 

bad11 a écrit :


Code :
  1. public void init() {
  2.       String path = "file:/C:/";
  3.       URL destination = new URL(new URL(path), "Jrex.xml" );
  4.       this.getAppletContext().showDocument(destination, "_blank" );
  5.     }




Super \o/ et voila que tu veux coller un fichier xml dans mon C:\, j'ai pas envie qu'une applet qui sort de je ne sais ou me colle un fichier xml dans le c:\, j'ai bien avoir mon root de propre, c'est du noobism de bas étage ça. De plus ya que sous Windows que tu trouveras C:\. sous linux et macOS ben je te laisse chercher.
 
 

n°1403833
bad11
Posté le 10-07-2006 à 14:20:27  profilanswer
 

Le contexte de conception est un peu spécial. Réservé à un intranet. Je ne vous demandais pas de me dire que c'est fait comme un noob (car c'est un projet adapté et nous n'avons pas pu faire autrement) mais comment contourner le problème ;=).
Mon applet est signée. Le fichier XML et créé, puis détruit à la fin de l'applet. C'est juste un fichier temporaire.
 
Donc si vous avez une idée pourquoi ma fenêtre ne s'ouvre pas sur un fichier local, une petite réponse serait la bienvenue :)

Message cité 1 fois
Message édité par bad11 le 10-07-2006 à 14:22:07
n°1403834
bad11
Posté le 10-07-2006 à 14:23:37  profilanswer
 

Je ne vois pas bien comment utiliser des cookies dans ce contexte Gatsu..

n°1403876
zapan666
Tout est relatif
Posté le 10-07-2006 à 14:59:35  profilanswer
 

bad11 a écrit :

Le contexte de conception est un peu spécial. Réservé à un intranet. Je ne vous demandais pas de me dire que c'est fait comme un noob (car c'est un projet adapté et nous n'avons pas pu faire autrement) mais comment contourner le problème ;=).
Mon applet est signée. Le fichier XML et créé, puis détruit à la fin de l'applet. C'est juste un fichier temporaire.
 
Donc si vous avez une idée pourquoi ma fenêtre ne s'ouvre pas sur un fichier local, une petite réponse serait la bienvenue :)


et pourquoi l'ecrire sur le disque alors ? garde le en memoire, probleme resolu...


---------------
my flick r - Just Tab it !
n°1403879
bad11
Posté le 10-07-2006 à 15:04:02  profilanswer
 

Parceque sur ce fichier XML, j'y applique des transformations XSLT avec une feuille de style CSS en prime, tu files tout ca à Mozilla, il transforme tout lui-même.
Donc il faut que je l'ouvre avec un browser pr avoir ces transfo de faite.

mood
Publicité
Posté le 10-07-2006 à 15:04:02  profilanswer
 

n°1403888
zapan666
Tout est relatif
Posté le 10-07-2006 à 15:09:35  profilanswer
 

uhm, et c'est quoi l'interet du truc ?
(il est possible de faire une transformation XSLT en Java)
 
Uhm sinon ca doit *surrement* etre possible si ton applet est signe d'enregistre sur le disque mais je pense que c'est dans un repertoire defini, et pas n'importe ou :P (Je dis peut etre une connerie hein, a verifier tout ca)


---------------
my flick r - Just Tab it !
n°1403911
bad11
Posté le 10-07-2006 à 15:21:55  profilanswer
 

le truc c'est que tout marche en local. Il sauvegarde bien sur le disque. M'ouvre le fichier avec mon browser par défaut, me fait mes transformation etc... mais des que je met ca sur un serveur, et bien si je lui demande d'ouvrir une page sur le web, il me lance bien le browser. Si c'est un fichier local, il ne fait rien et ne renvoie aucune erreur... bizarre!
 
L'interet est de pouvoir naviguer dans des Fils RSS pour des personnes non voyantes. Donc je récupere le fichier xml RSS depuis un site web de news. Je le transforme et on peut naviguer dedans grâce aux flèches du clavier + une synthèse vocale qui lit ce qui est écrit.
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Applet] Ouvrir un fichier local dans un navigateur web

 

Sujets relatifs
Remplir un fichier avec du textePeut on savoir la langue du navigateur via du javascript ?
code unicode dans un script => non compris par le navigateur ?Format des clés d'un fichier properties
code d'erreur copie de fichier[Script bat]Commande d'instrument, redirection vers fichier
"preg_replace" dans un fichier texte[resolu]Changer le nom d'un fichier a l'enregistrement
probléme pour éxécuter un fichier javabesoin d'un programme pour exécuter un fichier
Plus de sujets relatifs à : [Applet] Ouvrir un fichier local dans un navigateur web


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR