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

JSF Java Discussion :

Afficher une image d'une BD dans une page JSF


Sujet :

JSF Java

  1. #1
    En attente de confirmation mail
    Inscrit en
    Octobre 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 130
    Points : 33
    Points
    33
    Par défaut Afficher une image d'une BD dans une page JSF
    Bonjour,

    Je voudrais récupérer une image d'une BD pour l'afficher dans une page JSF.

    Je récupère à partir d'une requête sql le type blob mais je ne sais pas comment le formater pour que l'image soit visible sur ma page.

    Doit-je travailler avec le parametre "value" de mon <h:GraphicImage> ou bien avec le pareametre "url"? sachant que dans la base de données il y a directement les images et non pas des URL qui pointent vers elles.

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    vous devez faire un h:graphicImage donc la value pointe vers une adresse où récupérer l'image. Dans le cas présent, en général, on pointe vers une servlet qui va alors fournir l'image demandée sur base d'un identifiant. Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:graphicImage value="/monApplication/servletImage?imageId=#{monBean.identifiant}"/>

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2011
    Messages : 50
    Points : 52
    Points
    52
    Par défaut Récupération des images de la base donnée pour les afficher sur une page JSF
    Bonjour,

    j'ai eu le même problème, j'ai une base de donnée dont j'ai un tableau "Video". Dans ce table j'ai un champ de type blob (affiche du film).
    j'ai réussi à récupérer les images et les afficher sur la page jsf , mais via la création d'un fichier sous le répertoire /Web Pages/resource/images qui contient le codage du suite binaire stockée dans le champ blob en une image.jpg.

    Le problème c'est que cette méthode génère les même images dans la base dans un répertoire sous le disque dur , ce qui est redondant, j'ai les images deux fois, comment je dois procéder pour corriger ma solution ????

    voilà le code de la méthode du VideoController.java

    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
    public String image(int id) {
           String image = null;
           try {
            Video V=getFacade().find(id);
            byte[] imageInByte= V.getTrailerPicture();
           // InputStream in = new ByteArrayInputStream(imageInByte);
           // BufferedImage bImageFromConvert = ImageIO.read(in);
     
     
            InputStream in = new ByteArrayInputStream(imageInByte);
    	BufferedInputStream bis=new BufferedInputStream(in);
     
    	Image bImageFromConvert=ImageIO.read(bis);
     
            if(bImageFromConvert!=null){
     
    		BufferedImage bImg=new BufferedImage(bImageFromConvert.getWidth(null),  bImageFromConvert.getHeight(null), BufferedImage.TYPE_INT_RGB);
    		Graphics g=bImg.getGraphics();
    		g.drawImage(bImageFromConvert, 0, 0, null);
    		g.dispose();
     
    		File file=new File("D:/VOD/build/web/resources/images/image"+id+".jpg");
    		ImageIO.write(bImg, "jpg", file);
     
    	image=file.getName();    
                        }
        }
        catch (Exception e) {
    	// ecritureErreurDansFichierLog(e);
    }
    return ("/resources/images/"+image);
        }

    et j'affiche le images sur la page JSF à l'aide de ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:graphicImage value="#{videoController.image(item.idVideo)}" width="200" height="200"/>

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 10
    Points : 9
    Points
    9
    Par défaut affichage Image
    Svp j'ai un souci j'essai en ce moment d'afficher une image dans ma page jsf
    pour cela j'ai creer une servlet ImageServlet et j'ai mis un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:graphicimage value=ImageServlet/>
    en effet ma servlet s'execute mais la photo ne s'affiche pas.pouvez vous m'aider ?

  5. #5
    Membre averti Avatar de Shinzul
    Homme Profil pro
    Lecteur assidu de code source
    Inscrit en
    Janvier 2008
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lecteur assidu de code source
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 174
    Points : 333
    Points
    333
    Par défaut
    Si vous utilisez la bibliothèque de composant Richfaces il y a aussi le tag <a4j:mediaOuput />.
    Ce tag te permet d'afficher une image ou d'autres types de média qui peuvent être définit via du code binaire.

    Après pour la servlet je n'ai pas utiliser cette solution
    N'oubliez pas le quand vous avez votre solution.

Discussions similaires

  1. Afficher une image de caméra raffraichie dans une page Web
    Par sebastien2975000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 31/05/2015, 08h01
  2. Afficher les images d'un dossier dans une IHM
    Par danathane dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2008, 15h27
  3. n'affiche pas une image arriere plan definis dans une CSS
    Par mikebranque dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 30/06/2006, 15h54
  4. inserer une image et du texte dans une Jlist
    Par cellestion dans le forum Composants
    Réponses: 4
    Dernier message: 03/03/2006, 23h47

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