caezar 0 Denunciar post Postado Julho 1, 2014 Pessoal tenho um ImageIcon e preciso salvar em minha base de dados MySql. Acredito que preciso usar um setBinaryStream de um PreparedStatement, mas como eu recebo um ImageIcon em um PreparedStatement Grato, Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Julho 1, 2014 File file = new File("/caminho/para/minha/imagem"); fis = new FileInputStream(file); ps = conn.prepareStatement("insert into tabela(id, nome, imagem) values(?, ?, ?)"); ps.setString(1, 1); ps.setString(2, "Imagem.png"); ps.setBinaryStream(3, fis, (int) file.length()); ps.executeUpdate(); conn.commit(); Eu pessoalmente recomendaria outra abordagem. Acho melhor salvar a imagem no Sistema de Arquivos e no banco apenas o caminho para a imagem. Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Julho 2, 2014 Vergil é um ImageIcon, não tenho o caminho do arquivo. Tks Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Julho 2, 2014 E de onde vem esse ImageIcon? Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Julho 2, 2014 Vergil é um ImageIcon, não tenho o caminho do arquivo. Tks Se voce nao sabe a URL do arquivo entao e impossivel salva-lo: seja no banco de dados, seja no file system. Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Julho 2, 2014 É possível transformar um ImageIcon em uma sequência de bytes? Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Julho 2, 2014 É possível transformar um ImageIcon em uma sequência de bytes? Claro! Mas é preciso ter a URL dele. Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Julho 2, 2014 O problema é que esse ImageIcon vem de um campo blob já. Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Julho 2, 2014 O problema é que esse ImageIcon vem de um campo blob já. Cara! Se ele veio do banco quer dizer que voce ja o tem como InputStream. A interface java.sql.Blob tem um método chamado getBinaryStream onde tu podes recuperar o InputStream ou então podes utilizar o método getBytes para recuperar os bytes da imagem. Ainda é possível recuperar um input stream diretamente do ResultSet com resultSet.getBinaryStream(indiceDaColunaTipoBlob). Compartilhar este post Link para o post Compartilhar em outros sites