Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fildownload im IE ohne Speichern-Dialog (https://www.delphipraxis.net/189784-fildownload-im-ie-ohne-speichern-dialog.html)

Bernhard Geyer 20. Jul 2016 16:48

Fildownload im IE ohne Speichern-Dialog
 
Ich habe über TWebbrowser (TEmbeddedWB) die Notwendigkeit einen von einer Webanwendung angestoßenen Dateidownload ohne der Anzeige des "Speichern unter"-Dialogs durchzuführen.
Der Download wird über Session-Handling abgesichert.
Ich kann also nicht einfach die URL aus dem BeforeNavigate2-Event nehmen um einfach einen Download über Indy anzustoßen.

Auch ein Aufruf von

URLDownloadToFile(nil, PChar(DWExtractFileName(FDownloadURL)), 'c:\temp\download.xml', 0, nil);

gibt mir einen Fehlercode (-2146697203) zurück.

Welche Möglichkeiten habe ich nun den Browser den Dialog abzugewöhnen?

Dalai 20. Jul 2016 18:23

AW: Fildownload im IE ohne Speichern-Dialog
 
Der Fehlercode ergibt umgerechnet 0x800C000D und bedeutet laut MSDN INET_E_UNKNOWN_PROTOCOL. Vielleicht die URL nochmal genau prüfen?

MfG Dalai

Bernhard Geyer 26. Jul 2016 11:29

AW: Fildownload im IE ohne Speichern-Dialog
 
War noch ein Fehler bei meinen Tests.

Der Fehlercode ist 800C0008, also INET_E_DOWNLOAD_FAILURE = The download has failed (the connection was interrupted).

Also werde ich diese über URLDownloadToFile ohne Session-Übergabe nicht bekommen

Bernhard Geyer 27. Jul 2016 12:18

AW: Filedownload im IE ohne Speichern-Dialog
 
*Push*

Bernhard Geyer 27. Jul 2016 13:49

AW: Fildownload im IE ohne Speichern-Dialog
 
Hat sich erledigt.

Der Server sorgt durch seine Implementierung dafür das die Datei (und der Listener auf diese URL zum Download der Datei) sofort nach der ersten Anforderung im Browser freigegeben wird. Jede weitere Anforderung (sei es über URLDownloadToFile oder über ein Lösung welche die Session-Informationen ebenfalls verwendet) läuft ins leere.

Hier muss der Server angepasst werden das die Download-URL noch ein bischen länger gültig ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz