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 :
J'ai l'erreur suivante après la ligne :
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; }"java.awt.Image fetch aborted or errored".
Code : Sélectionner tout - Visualiser dans une fenêtre à part result = com.lowagie.text.Image.getInstance(image1, null);
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.
Partager