Einzelnen Beitrag anzeigen

CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#1

Delphi Indy Datei via URL downloaden und temporär öffnen?

  Alt 6. Jun 2019, 14:42
Hallo zusammen,

ich lade momentan folgendermassen via Indy eine Datei herunter:

Code:
IdHTTP.Get(Host + '/restapi/index.php/document/' + String(lvSearch.Items.Item[i].Data) + '/content', Stream);
Stream.SaveToFile(GetSpecialFolder(CSIDL_APPDATA) + '\test.msg');
Das funktioniert soweit auch, dennoch habe ich hierzu zwei Fragen:

1.
Ich muss ja derzeit für das SaveToFile die Dateiendung und vorzugsweise auch den Dateinamen vorab wissen.
Besteht die Möglichkeit, dass mir die Indy Komponente das vorab liefern kann so dass die Datei (Dateityp hinter dem Download kann sich ändern) immer mit korrekter Endung gespeichert wird?

2.
Gibt es eine Möglichkeit, die heruntergeladene Datei nicht zu speichern und quasi "nur" temporär direkt aus dem Stream heraus zu öffnen?
Falls nicht, besteht die Möglichkeit zu erkennen ob die heruntergeladene Datei noch offen ist und falls nicht, diese dann zu löschen?


Zum Hintergrund:
Ich bastel gerade an einem Outlook Addin, welches in einem DMS nach Dokumenten sucht.
Durch Doppelklick auf das Dokument, soll dieses vom DMS via URL heruntergeladen und geöffnet werden.
Aber lediglich nur zur Anzeige.
Wenn ich das Dokument wieder schließe, dann soll die temporär heruntergeladene Datei gelöscht werden.


Vielen Dank im Voraus schon mal für Eure Hilfe.
Falls Ihr mehr Informationen benötigt, so meldet Euch gern.
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  Mit Zitat antworten Zitat