H2 Blob Spalte im Client anzeigen

lam_tr

Top Contributor
Hallo zusammen,

ich habe eine Tabelle zum Speichern von Dateien gemacht. In meiner Client Anwendung will ich eine Abfrage zur Datenbank machen und die Blob Spalte (Dateien) anzeigen.

Ich kann beim Auslesen Blobs als ByteArray oder InputStream auslesen. Gibt es einen besseren Weg?

Ich will die Dateinen nur im Speicher halten und Darstellen.

Beispiel: Ich habe eine PDF hochgeladen und will im Client beim Selektieren die PDF im Memory halten und darstellen. Wie muss ich diesen Stream holen und als was im Speicher?

Irgendwie fehlt mir da noch Wissen.

2.Problem:
Aktueller Stand ist wenn ich es als Inputstream direkt von Datenbank holen mit IOUtils für Textdateien, schließt der den Stream auch nach dem Auslesen.

Grüße
lam
 
Du solltest erstmal klären, was genau du unter "darstellen" verstehst. Du wirst es jedenfalls nicht schaffen den Inhalt von beliebigen Dateien in deiner Java-Desktop-Anwendung zu zeigen, falls das das Ziel sein sollte.
Und was ist das für ein Client, mit dem du deine Daten visualisieren willst? Eine reine Desktop-Anwendung? Ein Web-Frontend? Oder was ganz anderes? Wie funktioniert die Übermittlung der Daten an den Client?
 
Hallo stg,

der Client ist basierend auf JavaFX. Ich hole die Datensätze und stelle sie mir in einer TableView dar. Beim Selektieren der Datensatz wird der eigentlich Blob geladen als InputStream und wird je nachdem als PNG, TXT oder PDF geladen.
Txt und Bilder sind soweit in Ordnung, die können im Speicher gehalten werden. Nur bei PDF habe ich das Problem dass ich als Datei speichern muss, im Anschluss kann ich sie im WebView darstellen. Aber von Memory aus weiß ich nicht wie ich das übergeben soll.

Wie macht man das allgemein. PDF holen und im Client darstellen? Zwischenspeichern? Ich will halt nicht für das Darstellen separat speichern.

Grüße
lam
 

Zurück
Oben