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 :

Afficher une image a partir d'un flux , et du texte dans une JSP


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Par défaut Afficher une image a partir d'un flux , et du texte dans une JSP
    bonjour
    je demande votre aide j aimerais afficher dans une page JSP une image récupérer d un flux ainsi que du texte le problème que la page m'affiche l image ou bien le texte voici mon code
    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
     
            ServletOutputStream outStream =  response.getOutputStream(); 
     
            InputStream image=post.getResponseBodyAsStream();
     
            InputStream in = new BufferedInputStream(image);
     
            String type     = post.getResponseHeader("Content-Type").getValue();
            String length   = post.getResponseHeader("Content-Length").getValue();
            response.setContentType(type);
     
            byte[] buf = new byte[Integer.parseInt(length)]; 
            int bytesRead; 
            while ((bytesRead = in.read(buf)) != -1) { 
              outStream.write(buf, 0, bytesRead);
            }
            outStream.flush();
     
            response.setContentType("text/html");
            outStream.println("BLalalLALAllal ");
            outStream.close();

  2. #2
    Membre averti
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Par défaut
    je switch avec setContent Type au debut elle a comme valeur "image" apres c du texte mé ca ne marche pas

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Faire les 2 n'est (à ma connaissance) pas possible.
    On ferrait plutôt un filtre pour la partie image et une simple page jsp pour le reste.
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    <body>
    Un texte suivit d'une image<br>
    <img src="/virtual/images/rep1/rep2/MonImage.gif"/>
    Dans cet exemple, on utiliserait "/virtual/images/*" comme expression pour limiter le filtre aux images.
    Dans web.xml, on aurait ce genre de paramétrage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <filter>
       <filter-name>FiltreImages</filter-name>
       <filter-class>com.package.FilterImages</filter-class>
     </filter>
     <filter-mapping>
       <filter-name>FiltreImages</filter-name>
       <url-pattern>/virtual/images/*</url-pattern>
     </filter-mapping>
    Le filtre n'aurait plus qu'à renvoyer le flux de l'image en retour avec le content/type "image/gif" (en l'occurrence)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Par défaut
    j ai pas trop compris votre reponse moi l image je la recois d une serveur sous forme de flux et dans votre reponse c statique

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Non, ce n'est pas statique... sauf si tu parles de l'url de l'image dans mon exemple, ça oui, elle est statique... Mais le filtre va "extraire" le flux de l'image de manière dynamique, où bon me semble...

    Maintenant, je ne suis pas sûr de comprendre ce que tu cherches à faire...
    Peux-tu expliquer plus précisément ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Par défaut
    Ok je t explique

    dans une page jsp j ai une image a afficher et du texte
    l image je la recois sous forme de flux et je la recupere et je l affiche avec ce code
    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
     
            ServletOutputStream outStream = response.getOutputStream(); 
            InputStream image=post.getResponseBodyAsStream();
     
            InputStream in = new BufferedInputStream(image);
     
     
            String length   = post.getResponseHeader("Content-Length").getValue();
            response.setContentType("image/jpeg");
     
            byte[] buf = new byte[Integer.parseInt(length)]; 
            int bytesRead; 
            while ((bytesRead = in.read(buf)) != -1) { 
              outStream.write(buf, 0, bytesRead);
            }
    apres je voudrais afficher du texte ,je ne peus pas utiliser le <out de PrintWriter> car le Flux ServletOutputStream l annule

    donc j affiche du texte en utilisant ce flux ServletOutStream avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            outStream.flush();
            response.setContentType("text/html");
            outStream.println("BLaBlaBlLALAllal ");
            outStream.close();
    le probleme que l image s affiche mais le texte ne s'affiche pas même si je change la valeur du contentType

Discussions similaires

  1. Ecrire du texte dans une image
    Par jeremy13 dans le forum Images
    Réponses: 11
    Dernier message: 22/01/2007, 16h12
  2. [vb.net 1.1] Faire défilé du texte dans une image
    Par malhivertman1 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/11/2006, 16h31
  3. Remplacer un texte dans une cellule Excel à partir d'un point donné
    Par tonyC dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/04/2006, 19h05
  4. Zone de texte dans une image
    Par sanna dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 18/03/2005, 22h15

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