Salvando e resgatando imagens no banco de dados

1 resposta
A

Olá pessoal…
Eu criei um metodo para salvar uma imagem na base, pois estou realizando uma aplicação e necessito muito disto funcionando, porém ocorre alguns erros e estou usando o banco postgres sql.
Irei por partes

No postgres eu criei a sequinte tabela

CREATE TABLE anexo
(
id int4 NOT NULL,
filename varchar(100),
content oid,
CONSTRAINT anexo_pkey PRIMARY KEY (id)
)

e o meu metodo irá fazer o seguinte comando para salvar na base

try
    {

		FileInputStream fio;
        fio = new FileInputStream(new File(caminho).getAbsolutePath());

        //Cria a conexão com o BD
        ConnectionManager.setConnectionUrl("jdbc:postgresql://localhost:5432/homologacao");
        ConnectionManager.setJdbcDriverClass("org.postgresql.Driver");
        cm.setUserName("usuar");
        cm.setPassword("pass");
        conn = cm.retornaConexao();
        
        //Faz  select
        String sql = "insert into anexo values (?,?,?)";
        System.out.println("insert into anexo values ("+cod+",'"+nome+"',"+fio.available()+")");
        ps = conn.prepareStatement(sql);
        
        ps.setInt(1, cod);
        ps.setString(2, nome);
        ps.setBinaryStream(3, fio, (int)fio.available());
        System.out.println("EXECUTOU: "+ps.executeUpdate());
        
        ps.close();
        fio.close();

        System.out.println("File saved!");
    }
    catch (Exception e)
    {
        e.printStackTrace(System.out);
    }

porém ocorre o seguinte erro…

…CONFIG…
DRIVER org.postgresql.Driver
URL jdbc:postgresql://localhost:5432/homologacao
USUARIO: usuar
PASSWORD pass
CONFIG.GERAL: org.postgresql.Driver jdbc:postgresql://localhost:5432/homologacao usuar pass
insert into anexo values (1,‘TESTE IMAGEM’,32818)
org.postgresql.util.PSQLException: ERROR: column “content” is of type oid but expression is of type bytea

OBS: Estive pesquisando em forum esta ajuda e sei que muitos irão postar que eu devo salvar em disco ou subdiretorios do projeto, porém estou com ducidas nesta questão acima e se possivel algum puder me ajudar eu agradeço…
E além disso gostaria de sabar como eu posso estar resgatando esta imagem para que eu possa estar exibindo a mesma numa pagina em .jsp por exempo…
Muito obrigado

1 Resposta

ricardosoares

http://www.guj.com.br/posts/preList/62178/329237.java#329237

Criado 6 de julho de 2007
Ultima resposta 6 de jul. de 2007
Respostas 1
Participantes 2