Java

Como salvar imagem no banco de dados??? Para depois mostrar juntos com os dados gravados nele.

FABIANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, EU JÁ TE MANDEI O CÓDIGO DISSO MULHER, funcionando melhor do que uma água caindo da cachoeira


olha eu já tenho um botão adicionar imagem
mais eu queria um botão para salvar imagem no banco de dados

olha você pode implementar o botão de salvar imagem e faz uma verificação se a imagem inserida for igual a do banco não salva senão altera a que está no banco de dados ou adiciona uma nova

Mas senão for o que quer pode dar mais detalhes por favor

a imagem no banco de dados é bytea certo, eu queria salvar imagem dentro do banco de dados e quando eu for pesquisar uma pessoa do banco mostre a imagem também.

ok. Primeiro você vai fazer um select na sua tabela e quando obter os dados Pode ser num array ou que você preferir você converte a imagem que no caso está em formato binário para a forma original dela novamente

como que eu faço isso??? Eu nunca fiz isso você pode me ensinar a fazer ???

Este código abaixo deve ajudar, não fui eu que fiz e está na internet e funciona muito bem, só que adaptei ele para o caso:
InputStream leitura = new ByteArrayInputStream(byteImagem);
try {
BufferedImage novaimagem = ImageIO.read(leitura);
lblImagem.setIcon(new ImageIcon(novaimagem));
} catch (IOException ex) {
Logger.getLogger(EnviarImagem.class.getName()).log(Level.SEVERE, null, ex);
}
}

Se não entender me fala

esse byteimagem é os bytes que o banco retorna, através da consulta

assim que é o código:
private void jButtonSalvarImagemActionPerformed(java.awt.event.ActionEvent evt) {
byte[] byteImagem = null;
InputStream leitura = new ByteArrayInputStream(byteImagem);
try {
BufferedImage novaimagem = ImageIO.read(leitura);
jButtonSalvarImagem.setIcon(new ImageIcon(novaimagem));
} catch (IOException ex) {

 }

}

mais ele esta dando esse erro:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at java.io.ByteArrayInputStream.(ByteArrayInputStream.java:106)
at telas.TelaMoradores.jButtonSalvarImagemActionPerformed(TelaMoradores.java:683)
at telas.TelaMoradores.access$800(TelaMoradores.java:26)
at telas.TelaMoradores$9.actionPerformed(TelaMoradores.java:239)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

esse código pra mim não deu , o que faço???

eu estou usando esse código:
pat.setBytes(8, mod.getImagem());

e no banco eu estou utilizando bytea que eu mandei a foto pra você ver

ok

Aqui é o meu projeto ele está no NetBeans

https://mega.nz/#F!j7IBkI7I!mOyNo8Y7bUKZkAogxWqv7g


aonde esta a seta minha eu não poderia usar porque eu tinha feito o código de adicionar olha:
private void jButtonAdicionarImagemActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser arquivo = new JFileChooser();
arquivo.setDialogTitle(“Selecione uma foto”);
arquivo.setFileSelectionMode(JFileChooser.FILES_ONLY);

    int opc = arquivo.showOpenDialog(this);
    if(opc == JFileChooser.APPROVE_OPTION){
        File file = new File("caminho");
        file = arquivo.getSelectedFile();
        String filename = file.getAbsolutePath();
        jTextFieldPath.setText(filename);
        
        ImageIcon imagem = new ImageIcon(arquivo.getSelectedFile().getPath());
        jLabelImagem.setIcon(new ImageIcon(imagem.getImage().getScaledInstance(jLabelImagem.getWidth(), jLabelImagem.getHeight(), Image.SCALE_DEFAULT)));           
    }
           
}                      

eu não poderia só fazer o botão de salvar imagem ???

você poderia explicar de uma outra forma não consegui entender.

Bom a forma que expliquei não específica o arquivo que recebe do gerenciador de arquivo.

O adiconar imagem e o salvar imagem seria a mesma coisa.
Ou só salvaria se fosse no salvar imagem