Alguém pode me ajudar como armazenar e visualizar imagem no firebird , estou fazendo via jdbc e o código abaixo parece que até grava , mas quando recupero a imagem ela não dá p/ler como imagem, oque será quie está errado?
o campo é BLOB SUB_TYPE 0
try
{
//gravando a imagem no banco…
strSQL = "UPDATE tblcadempresa SET foto=?";
File imageFile = new File("000000301.jpg" );
pstmt = getConector().getConexao().prepareStatement (strSQL);
java.io.InputStream in = new java.io.FileInputStream( imageFile );
pstmt.setBinaryStream(
1, // parameter index
in, // InputStream to read from
(int) imageFile.length() // number of bytes to read
);
pstmt.executeUpdate();
getConector().getConexao().commit();
in.close();
//recuperando a imagem…
strSQL = "SELECT FOTO FROM tblcadempresa";
pstmt = getConector().getConexao().prepareStatement (strSQL);
ResultSet rs = pstmt.executeQuery();
if (rs.next())
{
java.sql.Blob blob = rs.getBlob(1);
java.io.FileOutputStream out = new java.io.FileOutputStream("myImage.jpg");
java.io.BufferedInputStream is = new java.io.BufferedInputStream(blob.getBinaryStream());
byte[] buffer = new byte[is.available()];
out.write(buffer);
out.close();
is.close();
}
}
catch(Exception e)
{
System.out.println(e);
}