[Applet] Ecrire dans un fichier temporaire [Résolu]

Signaler
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
-
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
-
Bonjour tout le monde,

Je souhaiterais écrire dans un fichier temporaire.

Je m'explique...

J'utilise la bibliothèque itext pour créer un PDF à partir de deux fichiers :
1. Fichier .txt
2. Fichier .pdf (pour le design du fichier final)

Je dois créer un fichier PDF à partir de ces deux fichiers, sans l'enregistrer sur le serveur. Il faut donc que je puisse l'écrire dans la mémoire directement.

Je pense que cela se situe à ce niveau là de mon code (pour le moment je le fais en local) :

PdfSmartCopy copy = new PdfSmartCopy(document, new FileOutputStream(PATH));



Donc, je ne vois pas trop comment faire, étant donné qu'il me demandé un chemin de fichier.

Merci pour votre aide ...


Tout est bon dans l'cochon !

35 réponses

Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
Petite précision : je suis allé vérifié dans le dossier temporaire, et l'applet m'a bien créé le fichier camarche.pdf. Mais il n'a rien fait dedans, comme si je ne pouvais pas y toucher, une fois que celui-ci était créé.


*************************
Here we go !
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
En fait, non, je me suis fourvoyé =) Ça ne crée le fichier uniquement quand je lance l'applet en local, avec l'appletviewer.

/* FAUSSE JOIE :'( */


*************************
Here we go !
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
107
Salut,

Si ca ne marche qu'avec l'appletviewer (la création du fichier), c'est sûrement un problème de signature : est-ce que tu es sûr d'utiliser la bonne version de l'applet (redémarre ton serveur web au cas où, vide ton cache de navigateur, redémarre le navigateur). Vérifie bien qu'il te demande l'autorisation d'exécuter l'applet lorsqu'elle se lance.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
Alors, je recopie le fichier .jar à chaque modification au sein de mon serveur web.

De plus, je redémarre IE à chaque test.

Par contre, ce que je ne fais pas, c'est "resigner" mon .jar à chaque test. Dois-je le faire systématiquement ?


*************************
Here we go !
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
107
Salut,

Ah oui, il faut le faire à chaque fois, sinon l'ancien jar signé est écrasé par le nouveau !
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
En effet, ça change tout !!! MIRACLE !!!

Bon j'ai d'autres soucis, mais ceux là, me concernent directement (chemin de fichier sur le serveur incorrect, donc il faut que je regarde comment y accéder réellement).

En tout cas, merci pour ton aide !

PS : Mon petit doigt me dit qu'on sera certainement amené à se reparler un de ces jours ... =)


*************************
Here we go !
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
107
Salut,

un de ces jours


Une de ces heures
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
Tu commences à me connaître, non ?


*************************
Here we go !
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
J'ai honte, mais bon tant pis...

Maintenant, j'ai un souci qui doit provenir du fait que j'ai signé mon applet. En effet, je n'arrive plus à accéder aux fichiers présents sur le serveur.

Quand je lui passe un chemin de fichier comme celui-ci, file:/adresse_serveur/chemin/nom_fichier.txt, le système transforme les / en \. Donc, forcément, le chemin devient faux.

As-tu une idée ?


*************************
Here we go !
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
107
Salut,

Hum, c'est bizarre cà. Mais normalement, ce n'est pas à ton applet d'accéder aux fichiers du serveur (faille de sécurité...) mais à ta servlet d'envoyer le fichier selon une requête HTTP qui lui ai passée.

Si tu persiste à vouloir passer directement par l'applet, montre voir ton code.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
Ma servlet ??? Tu me parles chinois, désolé =(

Je pars d'une page .jsp qui appelle mon applet. Ensuite, dans mon applet, j'essaie de récupérer ce fichier pour le lire, et créer mon fichier pdf.

(Dis comme ça, ça parait simple, non ? ^^)

Voici les exemples de code, au cas où ça pourrait t'aider. Merci d'avance.


Déclaration de l'applet dans la page.jsp



Récupération du paramètre pour créer mon File
File source = new File(new URL((getCodeBase(),getParameter("url" )).openStream()));



Bonne soirée... et à demain !


*************************
Here we go !
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
Sinon, il y a la solution de passer en paramètre TOUT le contenu de mon fichier.

Mais il me semble que ce sont des string que l'on passe en paramètre, non ? Dans ces cas là, existe-t-il une limite de caractère (255 sûrement) ?


*************************
Here we go !
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
Dernière tentative, parce que je n'y comprends plus rien...

Après une multitude de tests, je crois comprendre où se situe mon souci : quand je lui donne une adresse "http://192.168.0.1/chemin/fichier.pdf, une fois que j'exécute l'applet, l'adresse se transforme en "http:\\192.168.0.1\chemin\fichier.pdf".

Donc, ça ne m'étonne pas que je n'arrive pas à accéder au fichier. Mais comment faire pour ne pas transformer l'adresse ? Il ne faut pas que les / se transforment en \...

Merci d'avance !


*************************
Here we go !
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
107
Salut,

Ce serait étonnant que ca vienne de là, mais bon.

Il te suffit de remplacer les "" par des "/" dans ton url d'accès :
taChaine.replaceAll("\", "/"); // un double \ car c'est le caractère d'échappement dans les sstring

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
Bon, j'ai réessayer, et ça a marché !!!

Je n'y comprends plus rien... J'ai dû faire une mauvaise manipulation hier.

En tout cas, merci pour ton aide. Il ne me reste plus qu'à vérifier si on peut installer la JRE sans être administrateur...

A bientôt !


*************************
Here we go !