Witam.
Usiłuję odczytać obraz zapisany w bazie danych w polu typu BLOB;
Zapis obrazu do bazy:
try {
File file = new File("E:\\smile.png");
InputStream inputImage = new FileInputStream(file);
pstmt.setBinaryStream(1 ,inputImage, (int)(inputImage.available()));
pstmt.setInt(2, id);
pstmt.execute();
} catch (IOException ex) {
Logger.getLogger(Contacts.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(Contacts.class.getName()).log(Level.SEVERE, null, ex);
}
Odczyt:
InputStream imageIn = rs.getBinaryStream("zdjecie");
if(imageIn != null)
{
long length = imageIn.available();
byte[] bytes = new byte[(int) length];
imageIn.read(bytes);
}
Wynikiem odczytu obrazu z bazy jest:
[B@1d48a65
Nic więcej nie potrafię odczytać z tego pola.
Nawet stosując metodę getBlob, konwertując Blob-a do byte[] wartość nie zmienia się.
Macie jakieś pomysły na temat tego co robię źle?
Pozdrawiam