Boa noite!
É possível recuperar a URL de uma imagem vinda de um banco de dados?
Abaixo estão os métodos gravarImagem e buscarImagem:
ImagemDao.java
...
public void gravarImagem( String urlImagem ) throws Exception
{
File file = new File( urlImagem );
BufferedImage img = ImageIO.read( file );
ByteArrayOutputStream b = new ByteArrayOutputStream();
ImageIO.write( img, "jpg", b );
byte[] imgArray = b.toByteArray();
String sql = "INSERT INTO tb_imagens VALUES( NULL, ? )";
PreparedStatement stm = Conexao.getConexao().prepareStatement(sql);
stm.setBytes( 1, imgArray );
stm.executeUpdate();
stm.close();
}
public byte[] buscarImagem( Integer codigo ) throws Exception
{
String sql = "SELECT * FROM tb_imagens WHERE codigo=?";
PreparedStatement stm = Conexao.getConexao().prepareStatement(sql);
stm.setInt( 1, codigo );
ResultSet rs = stm.executeQuery();
if( !rs.next() )
throw new RuntimeException( "Registro não encontrado." );
else
{
InputStream input = rs.getBinaryStream("imagem");
BufferedImage buffer = ImageIO.read(input);
ByteArrayOutputStream b = new ByteArrayOutputStream();
ImageIO.write(buffer,"jpg", b);
byte[] imgArray = b.toByteArray();
return imgArray;
}
}
...
Talvez algumas das classes abaixo, tenha alguma forma de obter a URL.
InputStream, BufferedImage, ImageIO, ByteArrayOutputStream, ImageIcon ou byte[].
Como resolver o problema?