Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

visualisation de document du poste client depuis le serveur

6 réponses
Avatar
pcouas
Bonjour,

Je cherche a visualiser des documents pdf qui sont sur mon PC depuis
une Applet qui est sur un serveur distant via un ShowDocument.
A priori IE refuse pour des de s=E9curit=E9 POLICY du PC, et je nepeut
changer la s=E9curite de chaque machine.

J'ai test=E9 plusieurs choses
1
this.getAppletContext().showDocument(new
java.net.URL"file://localhost/D:/temp2/aaa.pdf"),"new"); // Redirection

// this.getAppletContext().showDocument(new
java.net.URL("file:/D:/temp2/aaa.pdf"),"new")

2 J'ai test=E9 avec l'envoi vers une servlet qui fait un REDIRECT sans
r=E9sultat

3 Un morceau de jscript qui remplace l'URL

4 J'en suis =E0 une applet qui fait un UPLOAD sur le serveur via un
POST, cela fonctionne, mais la redirection me pose probleme
En fait une JSP appel une applet qui fait l'UPLOAD du document du PC
vers un r=E9pertoire du serveur via une servlet
Par contre le sendRedirect me pose probleme !!!

Quelqu'un a t il une id=E9e

Philippe

6 réponses

Avatar
David JOURAND
Bonjour,

Quelqu'un a t il une idée


Signer l'applet !

--
David Jourand

Avatar
Raphael Tagliani
David JOURAND wrote:
Bonjour,


Quelqu'un a t il une idée



Signer l'applet !

et pour tester, vous pouvez utiliser l'utilitaire keytool, installé par

défaut avec le SDK, afin de créer une signature "untrusted".


Avatar
pcouas
Il semble que l'instruction showDocument impose un http en debut d'URL
Avatar
David JOURAND
Le Mon, 05 Jun 2006 23:35:38 -0700, pcouas a écrit :

Il semble que l'instruction showDocument impose un http en debut d'URL


Je ne sais pas pour la méthode showDocument, mais voila comment j'ai
procédé (pour Windows, à adapter pour les autres OS) :

Une applet signée implémente la méthode :

public void showFile(String filePath) {
PrivilegedShowFile privilegedShowFile = null;

privilegedShowFile = new PrivilegedShowFile(filePath);
AccessController.doPrivileged(privilegedShowFile);
}

Avec la classe PrivilegedShowFile :

import java.io.File;
import java.io.IOException;
import java.security.PrivilegedAction;

public class privilegedShowFile implements PrivilegedAction {
private String filePath = null;

public PrivilegedShow(String filePath) {
this.filePath = filePath;
}

public Object run() {
Runtime.getRuntime().exec("explorer "" + filePath + """);

return null;
}
}

En espérant que cela vous serve...

--
David jourand

Avatar
pcouas
Ok, cela fonctionne
Mais c'est toujours IE qui sera lancé, meme si j'utilie FireFox
Et comment le lancer dans la meme fenetre et pas dans un nouveau
Navigateur ?

Merci encore
Philippe
Avatar
David JOURAND
Ok, cela fonctionne


C'est déjà une solution :-)


Mais c'est toujours IE qui sera lancé, meme si j'utilie FireFox


Il faut sans doute jouer sur la ligne de commande... mais je ne sais pas
comment faire pour lancer le navigateur par défaut...


Et comment le lancer dans la meme fenetre et pas dans un nouveau
Navigateur ?


Peut-être que la méthode showDocument ne fonctionne pas car la cible
n'est pas issue du même serveur que celui d'où provient l'applet ? Dans
ce cas, n'y a-t-il pas moyen de faire appel à cette méthode via une
PrivilegedAction ? Tous ceci n'est que pur supposition... A vous de jouer !


--
David Jourand