ich habe folgendes problem ich hab ein bild das wird in der datenbank gepeichert das mache ich einfach mit einem fileinputstream über den ich einlese
und dann hole ich sie raus aus der datenbank und speichere es wieder in einer datei ab welche ich mir dann als bild anzeigen lasse
nur mein problem ist jetzt das das mit dem anzeigen nicht immer klappt meistens nimmt er noch das alte bild welches er anzeigt
ich habe auch nachgesehn das bild was er aus der datenbank holt ist das richtige
hat jemand eine idee woran das liegen kann?
oder vieleicht eine bessere idee wie ich das bild vieleicht ohne temp datei anzeigenlassen kann
mit imageio hab ich das schonmal probiert gehabt nur da war das problem mit dem einlesen das hab ich nicht hinbekommen
und wenn ich mit fileinput einlese und dann mit imageio mir das aus der datenbank holen will meckert er überden header
bin für vorschläge hoffen
Code:
public void submitImageSQL(String q,String f)throws Exception
{
PreparedStatement ps = con.prepareStatement(q);
ps.setBinaryStream(1,new FileInputStream(f),(int)new File(f).length());
ps.executeUpdate();
ps.close();
}
und dann hole ich sie raus aus der datenbank und speichere es wieder in einer datei ab welche ich mir dann als bild anzeigen lasse
Code:
public ImageIcon submitImageSQL(String s)throws Exception
{
ResultSet res = stmt.executeQuery(s);
res.next();
InputStream read = res.getBinaryStream(1);
FileOutputStream write = new FileOutputStream("tempimage");
byte[] buff = new byte[1024];
int len;
while(0<(len = read.read(buff)))
write.write(buff,0,len);
write.close();
read.close();
//Thread.sleep(10);
ImageIcon image = new ImageIcon("tempimage");
//new File("tempimage").delete();
return image;
}
ich habe auch nachgesehn das bild was er aus der datenbank holt ist das richtige
hat jemand eine idee woran das liegen kann?
oder vieleicht eine bessere idee wie ich das bild vieleicht ohne temp datei anzeigenlassen kann
mit imageio hab ich das schonmal probiert gehabt nur da war das problem mit dem einlesen das hab ich nicht hinbekommen
und wenn ich mit fileinput einlese und dann mit imageio mir das aus der datenbank holen will meckert er überden header
bin für vorschläge hoffen