SOLUÇÃO:
public static boolean salvarFuncionarioFotoCorpo(String imagem) {
String insertRow = "UPDATE cfuncionario SET fotocorpo=? WHERE id = "
+ getId() + ";";
try {
PreparedStatement pstmt = SuporteJDBC.Conexao().prepareStatement(
insertRow);
File imagemFile = new File(imagem);
byte[] imagemArray = new byte[(int) imagemFile.length()];
DataInputStream imagemStream = new DataInputStream(
new FileInputStream(imagemFile));
imagemStream.readFully(imagemArray);
imagemStream.close();
pstmt.setBytes(1, imagemArray);
pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
public static Image capturaImagemRosto() {
byte[] imageByte = null;
Image image = null;
String sql = "SELECT fotorosto FROM cfuncionario WHERE id = " + getId();
try {
Statement stm = SuporteJDBC.Conexao().createStatement();
ResultSet rset = stm.executeQuery(sql);
while (rset.next()) {
imageByte = rset.getBytes("fotorosto");
ImageIcon icon = new ImageIcon(imageByte);
return icon.getImage();
}
} catch (Exception e) {
e.printStackTrace();
}
return image;
}
public void SalvarImagem(String nome, int tipo) {
setModal(true);
JFileChooser fc;
UIManager.put("FileChooser.lookInLabelMnemonic", "E");
UIManager.put("FileChooser.lookInLabelText", "Examinar em");
UIManager.put("FileChooser.saveInLabelMnemonic", "S");
UIManager.put("FileChooser.saveInLabelText", "Salvar em");
UIManager.put("FileChooser.upFolderToolTipText", "Um nível acima");
UIManager.put("FileChooser.upFolderAccessibleName", "Um nível acima");
UIManager.put("FileChooser.homeFolderToolTipText", "Desktop");
UIManager.put("FileChooser.homeFolderAccessibleName", "Desktop");
UIManager.put("FileChooser.newFolderToolTipText", "Criar nova pasta");
UIManager.put("FileChooser.newFolderAccessibleName", "Criar nova pasta");
UIManager.put("FileChooser.listViewButtonToolTipText", "Lista");
UIManager.put("FileChooser.listViewButtonAccessibleName", "Lista");
UIManager.put("FileChooser.detailsViewButtonToolTipText", "Detalhes");
UIManager.put("FileChooser.detailsViewButtonAccessibleName", "Detalhes");
UIManager.put("FileChooser.fileNameLabelMnemonic", "N");
UIManager.put("FileChooser.fileNameLabelText", "Nome do arquivo");
UIManager.put("FileChooser.filesOfTypeLabelMnemonic", "A");
UIManager.put("FileChooser.filesOfTypeLabelText", "Arquivos do tipo");
UIManager.put("FileChooser.fileNameHeaderText", "Nome");
UIManager.put("FileChooser.fileSizeHeaderText", "Tamanho");
UIManager.put("FileChooser.fileTypeHeaderText", "Tipo");
UIManager.put("FileChooser.fileDateHeaderText", "Data");
UIManager.put("FileChooser.fileAttrHeaderText", "Atributos");
UIManager.put("FileChooser.cancelButtonText", "Cancelar");
UIManager.put("FileChooser.cancelButtonMnemonic", "C");
UIManager.put("FileChooser.cancelButtonToolTipText", "Cancelar");
UIManager.put("FileChooser.openButtonText", "Abrir / Salvar");
UIManager.put("FileChooser.openButtonMnemonic", "A");
UIManager.put("FileChooser.openButtonToolTipText", "Abrir");
UIManager.put("FileChooser.saveButtonText", "Salvar =]");
UIManager.put("FileChooser.saveButtonToolTipText", "S");
UIManager.put("FileChooser.saveButtonToolTipText", "Salvar");
UIManager.put("FileChooser.updateButtonText", "Alterar");
UIManager.put("FileChooser.updateButtonToolTipText", "A");
UIManager.put("FileChooser.updateButtonToolTipText", "Alterar");
UIManager.put("FileChooser.helpButtonText", "Ajuda");
UIManager.put("FileChooser.helpButtonToolTipText", "A");
UIManager.put("FileChooser.helpButtonToolTipText", "Ajuda");
UIManager.put("FileChooser.acceptAllFileFilterText", "Todos os arquivos");
fc = new JFileChooser("c:\");
fc.setFileFilter(new FileNameExtensionFilter("SOMENTE FOTOS JPG", "jpg"));
int res = fc.showOpenDialog(null);
if (res == JFileChooser.APPROVE_OPTION) {
File arquivo = fc.getSelectedFile();
try {
BufferedReader in = new BufferedReader(new FileReader(arquivo));
minhaImagem = arquivo.getAbsolutePath();
in.close();
if (tipo == 1) {
Funcionario.salvarFuncionarioFotoRosto(minhaImagem);
JOptionPane.showMessageDialog(null,
"Foto do Rosto Salva com Sucesso!.",
"SCF - Newtec",
JOptionPane.INFORMATION_MESSAGE);
} else {
Funcionario.salvarFuncionarioFotoCorpo(minhaImagem);
JOptionPane.showMessageDialog(null,
"Foto do Corpo Salva com Sucesso!.",
"SCF - Newtec",
JOptionPane.INFORMATION_MESSAGE);
}
Toolkit toolkit = Toolkit.getDefaultToolkit();
imagem = toolkit.getImage(minhaImagem);
MediaTracker mediaTracker = new MediaTracker(this);
mediaTracker.addImage(imagem, 0);
try {
mediaTracker.waitForID(0);
} catch (InterruptedException ie) {
System.err.println(ie);
System.exit(1);
}
setSize(imagem.getWidth(null), imagem.getHeight(null));
setTitle("Foto: " + nome);
setVisible(true);
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
public void ExibirImagem(String nome, int tipo) {
setModal(true);
if (tipo == 1) {
imagem = Funcionario.capturaImagemRosto();
} else {
imagem = Funcionario.capturaImagemCorpo();
}
MediaTracker mediaTracker = new MediaTracker(this);
mediaTracker.addImage(imagem, 0);
try {
mediaTracker.waitForID(0);
} catch (InterruptedException ie) {
System.err.println(ie);
System.exit(1);
}
setSize(imagem.getWidth(null), imagem.getHeight(null));
setTitle("Foto: " + nome);
setVisible(true);
}
Tá ai galera, pra quem precisar, completinho do JFileChooser até a exibição em um JFrame.
A tela onde exibi extende de um JDialog, ou JFrame, como queirão…
O Campo no postgres bytea.
Espero que ajude!! Abraços!