Hallo Leute!
Ich möchte ein Programm schreiben, welches datensätze (auch bilder) aus mysql ausliest, diese anzeigt und bei bedarf andere wieder speichert.
also los:
funktioniert ja wunderbar
jetzt zeige ich die Grafik gleich in einem Label an (auch kein Problem).
doch dann:
Wie schreibe ich das Icon zurück in ein Image
Viele versuche blieben erfolglos.
dann halt anders:
ich speichere das bild (bufferedImage) in meiner Klasse mit und aktualisiere aus diesem bild mein Icon.
Doch wie schreibe ich jetzt dieses Buffered Image zurück in die Datenbank? weil:
verlangt einen OutputStream von mir
und
verlangt aber einen InputStream
Ich brauch also was dazwischen, wass mir die daten speichert...
Blob:
mit
krieg ich aber den fehler: unsupportet irgendwas....
wieder nix.
neja dann, nehm ich halt die Streams, und übergebe/speichere sie in meinen Objekten, damit ich diese immer zur verfügung habe (sprich wenn eine neue grafik übergeben wurde, diesen Stream als inputStream bei der Datenbank angeben.
nur leider sollte ich diesen Stream 2x auslesen, weil ich ja die grafik nicht nur anzeigen sollte, sondern auch speichern.
mit mark(int) und Reset funktioniert ja bei InputStreams nicht, oder muss ich da villeicht mit FileInputStream arbeiten..
die datei 2 mal öffnen ist ja sehr unelegant, auserdem möcht ich die datei auch vor dem speichern skalieren, und da hätte ich dann schon das nächste problem......
Da sich der Code über mehrere Seiten /Klassen ersteckt, hab ich (hoffentlich ausreichend) nur die Befehle angegeben.
Langsam fang ich an, Java wieder sch**** zu finden....
danke für jede Hilfe im voraus.
Ich möchte ein Programm schreiben, welches datensätze (auch bilder) aus mysql ausliest, diese anzeigt und bei bedarf andere wieder speichert.
also los:
Code:
InputStream is = resultset.getBinaryStream("Bild")
BufferedImage imx = ImageIO.read(is)
funktioniert ja wunderbar
jetzt zeige ich die Grafik gleich in einem Label an (auch kein Problem).
doch dann:
Wie schreibe ich das Icon zurück in ein Image
Viele versuche blieben erfolglos.
dann halt anders:
ich speichere das bild (bufferedImage) in meiner Klasse mit und aktualisiere aus diesem bild mein Icon.
Doch wie schreibe ich jetzt dieses Buffered Image zurück in die Datenbank? weil:
Code:
imageIO.read(bufferedImage image,"jpg",outputstream os)
und
Code:
PreparedStatment.setBinaryStream(1,InputStream);
Ich brauch also was dazwischen, wass mir die daten speichert...
Blob:
mit
Code:
connection.createBlob()
wieder nix.
neja dann, nehm ich halt die Streams, und übergebe/speichere sie in meinen Objekten, damit ich diese immer zur verfügung habe (sprich wenn eine neue grafik übergeben wurde, diesen Stream als inputStream bei der Datenbank angeben.
nur leider sollte ich diesen Stream 2x auslesen, weil ich ja die grafik nicht nur anzeigen sollte, sondern auch speichern.
mit mark(int) und Reset funktioniert ja bei InputStreams nicht, oder muss ich da villeicht mit FileInputStream arbeiten..
die datei 2 mal öffnen ist ja sehr unelegant, auserdem möcht ich die datei auch vor dem speichern skalieren, und da hätte ich dann schon das nächste problem......
Da sich der Code über mehrere Seiten /Klassen ersteckt, hab ich (hoffentlich ausreichend) nur die Befehle angegeben.
Langsam fang ich an, Java wieder sch**** zu finden....
danke für jede Hilfe im voraus.