Seite 1 von 1

[gelöst]MySQL Blob laden

Verfasst: 20. Oktober 2014 14:28
von Codiac
Hallo zusammen,

ich habe eine MySQL-Tabelle, die Dateien beliebigen Typs (Bilder, Dokumente, ...) und deren Name speichert:

fda_id (INT(11), Primärschlüssel)
fda_data (MEDIUMBLOB, Binärdaten)
fda_name (VARCHAR(100), ursprünglicher Dateiname)

Der User sieht eine Liste mit allen Dateinamen und soll durch Doppelclick die ausgewählte Datei öffnen können. Diese kommt dann aber aus der Datenbank, da sie im Dateisystem vielleicht schon fehlt.
Wie kann ich das Betriebssystem zum Anzeigen der Datei bewegen?
Gibt es eine Methode ähnlich QDesktopService::openUrl(), die statt einem Pfad ein QByteArray übergeben bekommt?

Ich könnte eine Temporärdatei anlegen und mit openUrl() öffnen. Allerdings müsste ich dann erfahren, wenn diese wieder geschlossen wird, um die Tempdatei zu entfernen.

Ich würde mich freuen, wenn Ihr eine Idee habt.
Bis dahin,
Marcel

Re: MySQL Blob laden

Verfasst: 20. Oktober 2014 21:39
von Christian81
Da es zu einem externen Programm geht bleibt dir nichts anderes übrig als eine temporäre Datei zu erzeugen.

Re: MySQL Blob laden

Verfasst: 21. Oktober 2014 13:41
von Codiac
Dann gebe ich mich geschlagen...

Danke Christian und freundliche Grüße zurück,
Marcel

Zur Info: Ich werde unterhalb meines Anwendungsverzeichnisses einen Temp-Ordner anlegen und bei jedem Programmstart alle darin befindlichen Dateien älter als heute löschen.