# Image aus Datenbank



## Joggal (4. Mai 2015)

Hallo zusammen,

Ich habe eine JavaFX Anwendung erstellt, welche eine Tabelle anzeigt - wird von Datenbank befüllt.
Darin befinden sich 2 Bilder. 

Ich möchte nun aber die ganzen Daten bearbeiten. 
Das heißt, per Klick auf eine Zeile öffnet sich ein neues Fenster, mit den ganzen Daten von dieser Zeile, um diese dann editieren zu können. Das klappt auch alles wunderbar, AUSSER: Es soll dann in einem Textfeld der Absolute Pfad des Bildes stehen. Jedoch weiß ich nicht, wie ich zu diesem komme.

Ich habe versucht, beim Einlesen der Daten aus der DB den InputStream in ein File zu konvertieren und damit dann an den Pfad zu kommen. Klappt aber nicht, da man ja nur den Inhalt des Bildes in die DB kopiert und nicht wo es liegt etc..

Kann mir da vllt. jemand helfen? Sollte ich eine Spalte mit Pfad in der DB extra dafür machen? 
Oder gibt es eine andere Möglichkeit wie ich nachträglich an den Pfad des Bildes komme, wenn dieses aus der DB wieder herausgeladen wird?

Ich hoffe ich konnte es annähernd erklären worum es geht, ansonsten bitte sofort fragen!
lg


----------



## stg (4. Mai 2015)

Wenn das Bild IN der Datenbank liegt (wovon ich idR abraten würde), dann ... ja was willst du denn dann für einen absoluten Pfad angeben? Das Bild ist dann de facto nicht (direkt) im Filesystem gespeichert, sondern der Speicherort ist die Datenbank. Versuch mal zu schildern, was dein eigentliches Ziel ist, vielleicht kann man dann besser helfen.


----------



## Joggal (4. Mai 2015)

Danke für die schnelle Antwort,

Also mein Ziel ist folgendes: Ich verwalte Münzen (unter anderem auch mit Bild von Vorder- und Hinterseite). 
Diese werden mir in meiner Tabelle angezeigt. Dann markiere ich eine Zeile (also eine Münze) und öffne per Button einen Dialog zum Bearbeiten dieser Münze. Es sollen dann alle Informationen von der markierten Münze bereits in die Textfelder etc. bereits mit den alten Werten ausgefüllt sein.... (diese kann man dann editieren). 

Jetzt wo ich das gerade so schildere, macht das mit den Bildern ja überhaupt keinen Sinn mehr, da wie du schon sagtest, diese nicht mehr im Filesystem sind, sondern lediglich in der DB. Das heißt, es nützt sowieso nichts, wenn ich mir den Pfad in so ein Textfeld reinschreiben lasse. *lach* 

Mein Gedankengang war einfach, dass ich auch den Pfad der Bilder reinschreibe, und dieses dann per FileChooser verändere und in der DB überschreibe. 

Hat sich aber denke ich jetzt erledigt, weil es völlig unsinnig ist und keinen SInn macht, abgesehen davon, dass es nicht funktionieren kann xD

EDIT: Da du geschrieben hast, du würdest davon abraten.. Wie würdest du hier vorgehen? 
Ich will nämlich versuchen die DB auf einem Server anzubieten, so dass alle die im Besitz der Anwendung sind, auf diese Münzen zugriff haben.

lg


----------



## Joose (4. Mai 2015)

Joggal hat gesagt.:


> EDIT: Da du geschrieben hast, du würdest davon abraten.. Wie würdest du hier vorgehen?
> Ich will nämlich versuchen die DB auf einem Server anzubieten, so dass alle die im Besitz der Anwendung sind, auf diese Münzen zugriff haben.



Lege diese Bilder im Filesystem am Server ab und speichere in der Datenbank nur den Pfad wo das Bild zu finden ist 
Beim Auslesen der DB schaust du nach ob unter dem angegeben Pfad ein Bild zu finden ist wenn ja laden, ansonsten ein Platzhalter verwenden


----------



## Joggal (4. Mai 2015)

Ah okay, klingt eigentlich nach einer sauberen Lösung 

Und wann wäre es dann sinnvoll, ein Bild wirklich in die DB zu speichern? 

Lg


----------

