Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Delphi TWebBrowser Dateidownload (https://www.delphipraxis.net/140846-delphi-twebbrowser-dateidownload.html)

Serafina 27. Sep 2009 11:08


Delphi TWebBrowser Dateidownload
 
Hallo!

Ich möchte von Delphi aus eine Datei von einer Internetseite Domloaden.
Wenn ich den Downloadbutton auf der Seite klicke, dann öffnet sich vom Internetexplorer ein Fenster, wo ich noch auf "Speichern" klicken muss. Kann ich auf das Fenster irgendwie zugreifen oder das Fenster unterdrücken, dass einfach in einem Standartpfad gespeichert wird?
Ich kann "normale" Internetseiten, die in einem neuen Fenster aufgehen auf meinen Webbrowser umleiten oder auch auf meinen Standarrtbrowser (FireFox, wo das Download auomatisch startet), aber das Downloadfenster regiert auf diese Umleitungen nicht.

Ich bin für Tipps sehr dankbar.

jaenicke 27. Sep 2009 11:47

Re: Delphi TWebBrowser Dateidownload
 
Kannst du den Download nicht auch ohne TWebBrowser machen? Mit TIdHttp zum Beispiel, dann sparst du dir den ganzen Aufwand. Da ist natürlich die Frage was das für eine Seite ist, mit Skript, ohne Skript, ...

Wenn man einen Link anklickt, sollte OnBeforeNavigate oder ein ähnliches Ereignis ausgelöst werden. Die Frage ist was beim Klick auf den Button passiert? Läuft dann ein Skript, wird da ein Formular abgeschickt, ...?

Serafina 28. Sep 2009 10:18

Re: Delphi TWebBrowser Dateidownload
 
Hallo!

Könntest du zu deinem Tipp bitte noch ein bisschen mehr schreiben? Oder mir eine gute Seite empfehlen, die die Grundlagen erklärt?
Ich habe schon sehr viele Erfahrungen in Programmierung, besonders mit Delphi, aber die Arbeit mit Webseiten und Internet ist mir bisher immer erspart geblieben.
Vielen Dank

EDIT: Ich habe jetzt etwas gefunden: Man kann mit idHTTP eine Datei herunterladen, wenn man die URL der Datei hat. Doch wie bekomme ich die URL der Datei? Wenn ich auf den Download-Button auf der Website klicke, dann ist die URL im OnBeforeNavigate-Ereignis die von der Seite, auf der sich der Button befindet. Und der Download startet nicht automatisch, weil der IE sich mit dem Downloadfenster reinhängt :cry:

mlspider 28. Sep 2009 21:49

Re: Delphi TWebBrowser Dateidownload
 
Ja, man kann.

Serafina 28. Sep 2009 21:55

Re: Delphi TWebBrowser Dateidownload
 
Was kann ich mit deiner Antwort anfangen? Ich dachte nicht, dass sich mein Problem mit einem einfachen 'ja' beantworten lässt :(

mlspider 28. Sep 2009 21:59

Re: Delphi TWebBrowser Dateidownload
 
Delphi-Quellcode:
idHTTP1.Get('http://blablabla.de/datei.endung');
Das wars.

mlspider 28. Sep 2009 22:02

Re: Delphi TWebBrowser Dateidownload
 
Versuche es doch mit UrlDownloadToFile. Das ist einfacher als Du denkst! :-D

Hier mal ein Beispiel:

Delphi-Quellcode:
UrlDownloadtofile(nil,PChar('http://adresse.de/Datei.Endung'),PChar(ExtractFilePath(ParamStr(0))+'Datei.Endung'),0,nil);

Serafina 28. Sep 2009 22:28

Re: Delphi TWebBrowser Dateidownload
 
Danke für die Antwort. Das bzw.sowas in der Art habe ich auch viel gefunden. Ich hatte aber oben geschrieben, dass ich die URL nicht kenne...
Vielleicht nochmal anders.
Ich habe eine Internetseite. Dort treffe ich durch das Anhaken einiger CheckBoxen eine bestimmte auswahl. Wenn ich dann auf den Download Button klicke wird aus meiner Auswahl eine Datei erstellt. Diese kann ich dann in dem Auswahlfenster vom IE öffnen oder speichern. Und dieses Fenster stört mich, da ich von Delphi aus nicht auf speichern klicken kann. Da die Datei aus meiner Auswahl erstellt wird, komme ich meines Wissens nicht an eine URL, von der ich so laden kann.
Wenn das jetzt zu verwirrend war, dann bitte nachfragen.

mlspider 28. Sep 2009 22:37

Re: Delphi TWebBrowser Dateidownload
 
Dazu sollte man zunächst erst einmal wissen, wie die Formulardaten an das Script (GET,POST,PHP-SELF, etc.), was die Rückgabe der gewünschten Url liefert, übergeben wird.

Und ich vermute auch mal ganz stark, das dort auch eine Datenbankabfrage stattfindet. Dann wird es sowieso nichts, wenn Du die Zugangsdaten nicht hast. Dann hilft nur noch ein parsen der Ausgabeseite.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 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