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

JDBC Java Discussion :

Récupération d'image dans Oracle puis création PDF


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 182
    Par défaut Récupération d'image dans Oracle puis création PDF
    Bonjour,

    Je voudrais pouvoir récupérer une image contenue dans un BLOB Oracle, puis la mettre dans un pdf (par l'intermédiaire d'une com.lowagie.text.Image).
    Voilà ma fonction qui retourne mon image pour l'insertion dans le pdf :
    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 com.lowagie.text.Image getLogo(int typeDoc) throws Exception{
    	  com.lowagie.text.Image result = null;
    	  byte[] imageBytes = new byte[0];
    	  Connection cnx = Dm.getConnection("Documents"); // connection a la base oracle
    	 try {
     
    	  PreparedStatement pstmt = cnx.prepareStatement("select image from docs where cle= ?");
    	  pstmt.setInt(1, typeDoc);
    	  ResultSet rs=pstmt.executeQuery();
    	  if(rs.next()) {
    	    imageBytes = rs.getBytes(1);
    	  }
    	  pstmt.close();
    	  rs.close();
    	  cnx.close(); 
    	  System.out.println("getLogo : Taille de l'image: "+imageBytes.length+"bytes");
    	  if (imageBytes.length>1) {
     
    	  java.awt.Image image1 = Toolkit.getDefaultToolkit().createImage(imageBytes);
    	  //ca plante là en dessous :	  
    	  result = com.lowagie.text.Image.getInstance(image1, null);
     
    	  } else System.out.println("getLogo : Récupération des bytes impossibles.");
        } 
        catch(Exception e){
         cnx.close(); 
         System.out.println("getLogo : "+e.getMessage());
         throw new Exception(e.getMessage());
     
        }
        return result;
      }
    J'ai l'erreur suivante après la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    result = com.lowagie.text.Image.getInstance(image1, null);
    "java.awt.Image fetch aborted or errored".

    En faisant quelques recherches je me dis que peut être l'image n'est pas totalement chargée quand je l'utilise et qu'il faudrait que j'attende, mais comment ?

    PS: j'utilise un serveur TOMCAT.

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedImage imag=ImageIO.read(new ByteArrayInputStream(imageBytes ));
    En effet les méthodes issues de Toolkit ont la mauvaise habitude (bien pratique parfois, mais en général énervantes) d'être asynchrones.

    Alors que toutes les méthodes de la classe ImageIO sont synchrones, ainsi, une fois l'appel fini, tu seras sur que ton image aura fini de charger.

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 182
    Par défaut
    Merci ça marche nickel !

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

Discussions similaires

  1. Récupération d'image dans Oracle puis création PDF
    Par loukoum82 dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 20/07/2010, 11h17
  2. Problème d'image dans un rapport en pdf
    Par artacus dans le forum Cognos
    Réponses: 11
    Dernier message: 21/01/2009, 00h25
  3. [MySQL] Récupération d'image dans 1 base mysql via php
    Par jomannix dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/05/2007, 12h54
  4. stocker image dans exe, puis affichage suivant un code ?
    Par pierre987321 dans le forum Delphi
    Réponses: 4
    Dernier message: 24/04/2007, 23h08
  5. Stocker les images dans oracle
    Par Bourak dans le forum Oracle
    Réponses: 3
    Dernier message: 27/09/2006, 17h22

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