[Java lista] Kép elmentése, betöltése blob-ba
ragasits.csaba at chello.hu
ragasits.csaba at chello.hu
2006. Okt. 30., H, 09:39:34 CET
Hello,
Firebird adatbázisba szeretnék képet először táblaModelbe (ds), majd ezt később az adatbázisba elmenteni:
//JLabel - Kép
if (fb.getFieldItem().getClass().getName().endsWith("JLabel")){
JLabel f = (JLabel) fb.getFieldItem();
BufferedImage bi=new BufferedImage(f.getIcon().getIconWidth(),
f.getIcon().getIconHeight(), BufferedImage.TYPE_INT_RGB);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
try {
ImageIO.write(bi, "jpeg", stream);
byte[] bin = stream.toByteArray();
ds.setValueAt(bin,row, fb.getColoumn());
} catch (IOException ex1) { }
}
majd ezt betölteni:
////JLabel - Kép
if (fb.getFieldItem().getClass().getName().endsWith("JLabel")){
JLabel f = (JLabel) fb.getFieldItem();
ImageIcon icon = new ImageIcon((byte[]) ds.getValueAt(row,fb.getColoumn()));
f.setIcon(icon);
f.repaint();
}
A fenti kódok le is futnak hiba nélkül, és az adatbázisban is látni adatokat a blobban, de mikor visszatöltöm, akkor fekete négyzetet kapok.
Van valakinek ötlete, hogy mit hagyhattam ki?
Elmentés elött a képet látom a label-en.
thx,
Csaba
További információk a(z) Javalist levelezőlistáról