Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Download per TWebBrowser (https://www.delphipraxis.net/100458-download-per-twebbrowser.html)

nobody0126 28. Sep 2007 16:18


Download per TWebBrowser
 
hallo zusammen ,ich habe eine Frage zu der TWebBrowser Komponente:
Kann ein download einer datei so abgefangen werden, dass die datei im hintergrund runtergeladen wird,
ohne dass der nervige iexplorer popup "Speichern / Öffnen usw" angezeigt wird?
wenn ja, dann wie?
Gruß

kevSTAR 28. Sep 2007 16:51

Re: Download per TWebBrowser
 
nimm doch idHTTP.Get :) damit haste keine nervigen popups oder so

s-off 28. Sep 2007 18:31

Re: Download per TWebBrowser
 
Zitat:

Zitat von kevSTAR
nimm doch idHTTP.Get :) damit haste keine nervigen popups oder so

Kann man, wenn man im TWebbrowser einen Downloadlink anklickt, die Anfrage auf eine Indy-Komponente umlenken? :gruebel:

Desweiteren haben wir doch heute etwas tolles gelernt.

marabu 28. Sep 2007 20:05

Re: Download per TWebBrowser
 
Herzlich willkommen in der Delphi-PRAXiS, nobody0126.

Wie man das mit den dafür vorgesehenen Interfaces machen kann, das kannst du dir in der Unit IEDownload aus dem Embedded WebBrowser Components Package anschauen.

Eine vereinfachte Lösung könnte unter günstigen Umständen darin bestehen, dass du beim Ereignis OnBeforeNavigate2() den Download abbrichst und ihn ohne Browser (z.B. mittels WinInet oder Indy) durchführst.

Delphi-Quellcode:
procedure TDemoForm.BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
var
  s: TStrings;
begin
  s := TStringList.Create;
  try
    CrackUrl(URL, s);
    Cancel := SameText(ExtractFileExt(s.Values['urlPath']), '.ZIP');
    if Cancel then
    begin
      with pDisp as IWebBrowser2 do
        Stop;
      FileDownload(URL);
    end;
  finally
    s.Free;
  end;
end;
Freundliche Grüße vom marabu

nobody0126 28. Sep 2007 20:25

Re: Download per TWebBrowser
 
auf eine ähnliche idee bin ich mit hilfe der obigen tipps auch gekommen, habe bei dem TWebBrowser Event OnDownloadBegin, abbgebrochen und den link übernommen, stehe jetzt nur wieder vor dem https dilema mit indy 10, aber das gehört hier nicht rein. werde versuchen woanders eine lösung dazu zu finden. danke für die hilfreichen tipps.
gruß


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