Imagem > byte[] > MySQL

2 respostas
adrianostanley

Galera, tenho uma classe que possui um atributo byte[].

Preciso converter uma imagem pra um array de bytes e gravar no campo do MySQL que tá como Medium Blob.

O que há de errado com esse código:

/** * Test of insertImagem method, of class ImagemDAO. */ @Test public void testInsertImagem() throws Exception { System.out.println("insertImagem"); Imagem i = new Imagem(); FileInputStream f = new FileInputStream(new File("C:\Documents and Settings\Administrator\Desktop\imagem.png")); byte[] b = new byte[1024]; f.read(b); i.setBinarios(b); ImagemDAO.insertImagem(i); // TODO review the generated test code and remove the default call to fail. //fail("The test case is a prototype."); }

Pois ele salva os bytes no banco incorretamente.

O EMS do MySQL que tenho aqui permite visualizar imagens salvas em campos BLOB e ele diz que o formato está incorreto.

Quando copio o conteúdo salvo no banco, jogo pra um txt e renomeio como .png nem o windows reconhece a imagem.

Há alguma outra forma de ler esses bytes??

2 Respostas

ibotirama

Adriano dê uma olhada em : http://eliasknebel.wordpress.com/2009/05/05/salvando-imagens-no-banco-de-dados/

Acho que pode te ajudar.

adrianostanley

O foda é que to usando Hibernate… aí o buraco é mais embaixo…
:frowning:

Criado 15 de maio de 2009
Ultima resposta 16 de mai. de 2009
Respostas 2
Participantes 2