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 :

Image sur jsf


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 37
    Par défaut Image sur jsf
    Bonjour tout le monde, j'ai un petit problème qui me dérange ça fait une semaine et j'ai pas encore trouver une bonne solution sur le net (recherche google). Mon problème c'est d'afficher une image stocker dans une base de données avec le type BLOB et j'utilise jsf comme fremwork et j'arrive pas à afficher cette ce champ (image BLOB) dans ma page jsf(jsp)?

    j'ai creer un bean avec un attribu image de type blob mais ça marche pas

    S’il y a une astuce ou bien une démarche ou une technique à suivre pour ce genre de problème je serai très reconnaissant et merci d'avance.

  2. #2
    Membre éprouvé Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Par défaut
    normallement on mets seulement l'URL de l'image dans la BDD il en faut pas mettre le fichier en entier, tu vas surcharger la bdd pour pas grand chose

  3. #3
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 37
    Par défaut
    Citation Envoyé par et.rond.et.rond
    normallement on mets seulement l'URL de l'image dans la BDD il en faut pas mettre le fichier en entier, tu vas surcharger la bdd pour pas grand chose
    j'ai pas le choix mon ami le probleme se pose comme ca j'ai deja des images stock" dans la base de données par une autre appliquation et moi je doit exploiter les donnée de cette base pour les presentés dans une page web en utilisant JSF

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 58
    Par défaut
    bonjour chere inseaiste,

    pour ta question voila des elements qui pourront t'aider:

    voila je pense la seul maniere pour afficher ton image et d'utiliser une servlet depuis ton bean du type:

    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
    33
    34
    // This method is called by the servlet container to process a GET request.
        public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
            // Get the absolute path of the image
            ServletContext sc = getServletContext();
            String filename = sc.getRealPath("image.gif");
     
            // Get the MIME type of the image
            String mimeType = sc.getMimeType(filename);
            if (mimeType == null) {
                sc.log("Could not get MIME type of "+filename);
                resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                return;
            }
     
            // Set content type
            resp.setContentType(mimeType);
     
            // Set content size
            File file = new File(filename);
            resp.setContentLength((int)file.length());
     
            // Open the file and output streams
            FileInputStream in = new FileInputStream(file);
            OutputStream out = resp.getOutputStream();
     
            // Copy the contents of the file to the output stream
            byte[] buf = new byte[1024];
            int count = 0;
            while ((count = in.read(buf)) >= 0) {
                out.write(buf, 0, count);
            }
            in.close();
            out.close();
        }
    Pour lire ton image de ta bd:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PreparedStatement statement = connection.prepareStatement(
      "SELECT BlobColumn FROM MyTable");
     
    ResultSet rs = statement.executeQuery(); if (rs.next()) { Blob blob = rs.getBlob(1); FileOutputStream out = new FileOutputStream("myImage.jpg"); BufferedInputStream in = new BufferedInputStream(blob.getBinaryStream()); // classic copy from in to out with a byte buffer int b; byte[] buffer = new byte[10240]; // 10kb buffer while ((b = in.read(buffer, 0, 10240)) != -1) { out.write(buffer, 0, b); } }
    voila des liens qui vont bcp t'aider:

    http://forum.java.sun.com/thread.jsp...hreadID=730262
    http://forum.java.sun.com/thread.jsp...hreadID=164042
    http://forum.java.sun.com/thread.jsp...hreadID=650307

  5. #5
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 37
    Par défaut
    C'est pas ca mon ami ce que je veux car avec les jsp c facile d'afficher une image de la base de données sur une page web mais ma question etais coment en utilisant les JSF d'afficher une image depuis la base de données c-a-d dans notre bean image par exemple il sera de quel type ??? en tout cas j'ai trouvé la solution et je vais faire un petit tutorial pour expliquer cette technique bientôt et merci de m'avoir aider dans ma reflection

  6. #6
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Par défaut
    Je ne suis pas si sûre de ce que tu veux faire, mais je ne vois pas la nécessité d'avoir quelque chose dans le bean.
    <h:graphicImage id="image" url="/images/DBPicture?imgID=xxx" />

    Si tu veux le mettre sur le bean : <h:graphicImage id="image" url="#{bean.imgURL}" />

    DBPicture est la Servlet qui se chargera de "streamer" ton BLOB au client

Discussions similaires

  1. Image sur le bouton JSf
    Par AmineDev9 dans le forum JSF
    Réponses: 3
    Dernier message: 17/05/2009, 01h06
  2. [VB.NET] Image sur un boutton
    Par seemax dans le forum Windows Forms
    Réponses: 4
    Dernier message: 04/06/2004, 09h38
  3. [VB6]Existence d'un image sur un control
    Par oazar dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/04/2004, 17h00
  4. [VB6] mettre une image sur un boutton
    Par dim dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/02/2004, 01h28
  5. [TP]Help pour insertion d'un image sur tp7 svp !
    Par ilym dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 21/01/2004, 21h00

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