Hallo zusammen,
ich habe eine MySQL-Tabelle, die Dateien beliebigen Typs (Bilder, Dokumente, ...) und deren Name speichert:
fda_id NT(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
[gelöst]MySQL Blob laden
[gelöst]MySQL Blob laden
Zuletzt geändert von Codiac am 21. Oktober 2014 13:41, insgesamt 2-mal geändert.
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: MySQL Blob laden
Da es zu einem externen Programm geht bleibt dir nichts anderes übrig als eine temporäre Datei zu erzeugen.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: MySQL Blob laden
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.
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.