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

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Points : 9
    Points
    9
    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
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Points : 9
    Points
    9
    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
    Points : 9 529
    Points
    9 529
    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)

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Points : 9
    Points
    9
    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
    Points : 9 529
    Points
    9 529
    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 ?

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Points : 9
    Points
    9
    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

  7. #7
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Ensaiste Voir le message
    ...
    l image je la recois sous forme de flux et je la recupere et je l affiche avec ce code
    ...
    C'est ça que j'aimerais que tu expliques...

  8. #8
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    l image je la recoit d un serveur qui me la donne sous forme d un flux binaire .
    l image je l affiche facilement mé c le text apres qui s affiche pas meme si je change le Content type

  9. #9
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Damned, fait un effort tout de même, ça fait 3 fois que tu dis la même chose

    Tu la reçoit quand, sur la base de quoi, par qui ou quoi, etc...
    Si tu peux expliquer le flux de tous ces éléments ça aidera...

    Ce qui est évident, c'est que tu ne peux pas mixer une image avec du texte (ou autre chose d'ailleurs) dans la même "response".

    Si tu dois avoir un texte dans une de tes pages avec en plus une image venant d'un autre site, il n'y a pas besoin de se compliquer la vie non plus, un truc comme ceci fera l'affaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bla bla bla...
    <img src="http://un.site.com/une_reference_image.gif" />
    Mais évidement, ça suppose que derrière "un.site.com" on a un serveur http.

    Si ce n'est pas le cas, si on doit récupérer l'image par un socket (qui sait) ou d'une base de données, ou tout autre moyen, alors le filtre sera nécessaire...

  10. #10
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    oui je la reçoit disant disant d'une une soket

  11. #11
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    bon j'utilise une librairie d'apache HttpClient , je l'utilise soit disant a forger des requête de type POST d ou j interroge des Web services de type REST avec "appel URL "ces requêtes s'exécutent et j ai une réponse, (un Flux d'image et de texte ) .
    je le prend ce flux j ouvre un buffer et j ecris dans un fichier xml
    après je Parse le texte et je construit ma page web et des flux d images dont je les récupèrent je les ecris c'est toutes l histoire
    ainsi va le monde

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