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

Servlets/JSP Java Discussion :

[SERVLET][JSP] Ecriture de fichier par la servlet


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [SERVLET][JSP] Ecriture de fichier par la servlet
    Bonjour,

    J'ai un léger problème avec une de mes servlets qui ecrit plusieurs fichiers (png et svg entre autre).
    Les fichiers sont créés dans le /bin du serveur Jboss (je ne sais pas comment lui dire de les créer ailleurs..)

    Par la suite, j'ai besoin que mes JSP puissent accéder à ces fichiers pour notamment les afficher dans des tag <img>...etc...

    Au niveau de l'appli, on utilise donc des Servlet, des JSP, le tout sous du Struts.

    voici un bout de code pour la création des fichiers :



    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
    28
    29
    30
    31
    32
    				File f = new File("pos.svg");
    				StreamResult result= new StreamResult(f);
    				DOMSource source =new DOMSource(svgDocument);
    				TransformerFactory transformerFactory = TransformerFactory.newInstance();
    				Transformer transformer = transformerFactory.newTransformer();
    				transformer.setOutputProperty(OutputKeys.METHOD, "xml");
    				transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    				transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
    				transformer.transform(source,result);
     
    				    			 //creation du png
     
           			 //crée un transcoder PNG
            		PNGTranscoder t = new PNGTranscoder();
     
     
            		//crée l'entrée transcoder
     
            		String svgURI = f.toURL().toString();    
            		TranscoderInput input = new TranscoderInput(svgURI);
     
            		//crée la sortie transcoder
            		OutputStream ostream = new FileOutputStream("pos.png");
            		TranscoderOutput output = new TranscoderOutput(ostream);
     
            		//sauvegarde image
     
            		t.transcode(input,output);
     
            		//vide et ferme le flux
            		ostream.flush();
            		ostream.close();
    Ma question est comment lui indiquer d'ecrire les fichiers ailleurs (dans le tmp/deploy/... par exemple ? et comment les faire afficher dans la JSP ?

    Merci beaucoup

    Jab

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2004
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 152
    Points : 173
    Points
    173
    Par défaut Re: [SERVLET][JSP] Ecriture de fichier par la servlet
    Tes fichiers sont créés dans le repertoire bin/ parce que le constructeur new File("myfile") va creer le fichier dans le repertoire courant (a savoir celui qui contient le fichier "run", donc bin/).

    Pour créer tes fichiers dans un autre repertoire, il suffit d'indiquer le path complet dans le constructeur.
    Comment ?

    - si tu veux le creer dans le repertoire tmp/ de JBoss, tu peux regarder la valeur de la variable java.io.tmpdir. Elle est utilisée par Tomcat pour stocker le path de son repertoire tmp, esperons que JBoss en fait de meme. Par contre, cette solution ne te permet pas de retouver facilement tes fichiers depuis les JSP.

    - une autre solution est de creer ces fichiers dans le contexte de ton application. La commande suivante te permet d'obtenir depuis une servlet le path absolu d'un repertoire "images" situé a la racine de ton appli :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String dir = httpRequest.getSession().getServletContext().getRealPath("/images");
    Tu peux ensuite creer ton fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File file = new File("myfile", dir);
    et l'afficher dans ta JSP avec un simple <img src="images/myfile"...>

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour la réponse super détaillée, ca marche nickel désormais.

    Merci Encore

    Jab

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

Discussions similaires

  1. Lecture de fichier mp3 avec servlets/JSP
    Par MarENSI dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 29/10/2010, 14h38
  2. upload d'un fichier avec les servlet/jsp
    Par khaledUSTHB dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 16/07/2007, 13h20
  3. Réponses: 2
    Dernier message: 27/07/2006, 18h50
  4. [Servlet & JSP]Upload de fichier
    Par Gob4 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 31/05/2006, 10h53
  5. ecriture dans fichier par ma methode print
    Par makohsarah dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 17/05/2006, 19h26

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