Eu tenho essa código para adicionar imagem:
private void jButtonAdicionarImagemActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser jfilechooser = new JFileChooser();
File file = new File(“Imagens”);
int option = jfilechooser.showOpenDialog(null);
if (option == JFileChooser.APPROVE_OPTION) {
file = jfilechooser.getSelectedFile();
ImageIcon image = new ImageIcon(file.getPath());
int height = image.getIconHeight();
int width = image.getIconWidth();
jLabel1.setSize(width, height);
jLabel1.setIcon(image);
jLabel1.repaint();
} else {
JOptionPane.showMessageDialog(null, "Você não selecionou nenhum diretorio.");
}
}
e ai como eu faço um botão para salvar imagem numa pasta dentro do banco de dados?
Dragoon
Novembro 8, 2019, 12:16am
#2
Qual foi a solução tem como disponibilizar?
String caminho = file.getAbsolutePath();
Salva a String caminho
como assim não entendi o que você falou???
Mantenha a calma, não precisa postar várias vezes.
Você quer salvar o caminho da imagem, certo? Sua pergunta está mal formulada. O que você quer fazer de fato?
é que postei sem querer varias vezes foi mal, e sobre o que quero saber é como eu faço para salvar a imagem junto com os dados que eu cadastrar no banco de dados ?
Então, é só adicionar o caminho da imagem junto ao preparedstatement, manda o código que vc insere no banco de novo, por favor
Aqui o código:
public void Salvar(BeansMoradores mod){
conex.conecta();
try {
PreparedStatement pat = conex.con.prepareStatement("INSERT INTO morador(nome, rg, cpf, nomedoveiculo, númerodoapartamento, númerodacasa, placa) VALUES(?,?,?,?,?,?,?)");
pat.setString(1, mod.getNome());
pat.setString(2, mod.getRG());
pat.setString(3, mod.getCPF());
pat.setString(4, mod.getNomeDoVeiculo());
pat.setString(5, mod.getNúmeroDoApartamento());
pat.setString(6, mod.getNúmeroDaCasa());
pat.setString(7, mod.getPlaca());
pat.execute();
JOptionPane.showConfirmDialog(null, "Dados Inseridos Com Sucesso!");
} catch (SQLException ex) {
ex.printStackTrace();
}
conex.desconecta();
}
Certo, vc tem a coluna que faz referencia a imagem que vai ser salva?
Exemplo, coluna foto
, ou, coluna imagem
Faz o getter e setter da String Imagem/Foto
e depois passa pra query:
INSERT INTO morador(nome, rg, cpf, nomedoveiculo, númerodoapartamento, númerodacasa, placa, imagem) VALUES(?,?,?,?,?,?,?,?)"
pat.setString(8, mod.getImagem());
E na hora de setar a imagem vc faz:
String caminho = file.getAbsolutePath();
....setImagem(caminho);
o código na hora de setar é pro colocar nesse meu código:
public void setImagem(String Imagem) {
this.Imagem = Imagem;
}
Adiciona uma coluna do tipo BLOB na sua tabela, transforma a imagem em um array de bytes e adiciona nessa coluna.
eu não entendi o que você falou, você pode explicar melhor por favor???
Você quer salvar uma imagem no banco de dados certo?
Uma imagem é um arquivo contando vários bytes correspondentes aos pixels que compõe a imagem, certo?
Pois bem, você não vai salvar uma imagem numa coluna do tipo TEXTO .
Você vai usar uma coluna do tipo BLOB - B inary L arge OB ject.
Para isso você vai ler os bytes do seu arquivo de imagem e salvar nessa coluna que você criou.
mais no banco de dados a imagem é bytea
deixa eu perguntar uma coisa aonde eu vou setar a imagem que você falou pra mim eu estou um pouco perdida.
Perfeito
Também funciona
É só setar o array de bytes no seu PreparedStatement
vc seta a imagem no mesmo lugar que faz o .setNome, .setRg
…