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 35 36 37 38 39
|
public byte[] getImage() {
byte[] rt = null;
byte[] buffer = new byte[1024];
java.io.InputStream is = null ;
java.io.ByteArrayOutputStream os = null ;
..... traitement du query du resultset ...
// Ici je suis sur un enregistrement valide contenant une image
// dans la zone b_data
// Get bytes from the BLOB using a stream
Blob bl = rs.getBlob("b_data") ;
if (bl != null ) {
is = bl.getBinaryStream() ;
os = new java.io.ByteArrayOutputStream() ;
}
int length = 0;
try {
while((length = is.read(buffer)) != -1) {
os.write(buffer, 0, length);
}
os.flush() ;
rt = os.toByteArray() ;
os.close() ;
} catch (Exception e) {
System.out.println("--> erreur stream " + e.getMessage()) ;
}
... close du resultset, du statement ....
return rt ;
}
// et dans la page jsp un truc du style
response.setContentType("image/" + montype );
response.getOutputStream().write( monbean.getImage() ) ;
response.flushBuffer(); |
Partager