Alguém sabe como gravar fotografias com uma aplicação java num banco de dados PostgreSQL???
Valeu!!!
Alguém sabe como gravar fotografias com uma aplicação java num banco de dados PostgreSQL???
Valeu!!!
Você quer o código ou quer saber que campo usar?
Campo você pode usar Blob ou um LongBlob(depende do tamanho que quer armazenar), agora o código, tem que ver o que você está usando para fazer a persistência.
Quer fazer usando SQL ou está utilizando algum framework?
Abraço
Coloque as fotografias em um determinado diretório e salve sua referência (caminho) utilizando o tipo BLOB para sua coluna na tabela.
Estou considerando que você sabe o funcionamento do JDBC. No Firebird usei o campo BLOB que no Postgre não se chama BLOB e sim BYTEA, segue um exemplo de como seria feito com Firebird, creio que funcionará normalmente com Postgre:
public void atualizaFoto(int codigo, Connection con) throws SQLException, Exception
{
PreparedStatement pSt = con.prepareStatement("update funcionario set foto = ? where codigo = ?");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
BufferedImage imagem = ImageIO.read(new File("mariabonita.gif"));
ImageIO.write((BufferedImage)imagem, "png", baos);
baos.flush();
byte[] byteArray = baos.toByteArray();
baos.close();
pSt.setBytes(1 ,byteArray);
pst.setInt(2, codigo);
pst.executeUpdate();
pst.close();
}
Valeu, galera!
No PostgreSQL se chama realmente ByteA, mas não possui todas as propriedades de um campo blob como no Firebird e MySQL, por exemplo.
Mas vou testar o que o caique indicou…
Depois posto o resultado.
Obrigadão!
T+