![]() |
Datei mittels TRestHttp herunterladen + Events
Nachdem ich heute alles von TIdHTTP zu TRESTHTTP umgeschrieben habe und wieder Kontakt zu meinem Server habe, steht eine nächste Sache an.
Ich lade Dateien mit den Indys runter und nutze dafür HTTPWorkBegin, HTTPWork und HTTPWorkEnd. Der Dateidownload selber sieht so aus
Delphi-Quellcode:
Ich denke mit REST.HttpClient sollte das zu 99% gleich sein. Aber wie bekomme ich das mit den Events HTTPWorkBegin, HTTPWork und HTTPWorkEnd hin?
constructor THTTPFileDownload.Create(AOwner: TComponent);
begin inherited; FIOHndl := TIdSSLIOHandlerSocketOpenSSL.Create(nil); FIOHndl.SSLOptions.SSLVersions := [sslvTLSv1_2]; IOHandler := FIOHndl; OnWork := HTTPWork; OnWorkBegin := HTTPWorkBegin; OnWorkEnd := HTTPWorkEnd; end; function THTTPFileDownload.DownloadFile(const aFileUrl: string; const aDestinationFile: string): Boolean; var LDestStream: TFileStream; aPath: string; begin try aPath := ExtractFilePath(aDestinationFile); if aPath <> '' then ForceDirectories(aPath); LDestStream := TFileStream.Create(aDestinationFile, fmCreate); try Get(aFileUrl, LDestStream); Result := ResponseCode = 200; finally FreeAndNil(LDestStream); end; except Result := False; end; end; Noch ganz weg von Indy bin ich aber danach auch noch nicht. Ich sende aus meinem Programm heraus E-Mails via SMTP. Das kann Rest vermutlich überhaupt nicht, oder? |
AW: Datei mittels TRestHttp herunterladen + Events
Zitat:
Zitat:
|
AW: Datei mittels TRestHttp herunterladen + Events
Die Events habe ich mit den Indies drin gehabt, um den Downloadfortschritt anzuzeigen. Ein Programmupdate ist i.d.R zwischen 15 und 30 MB groß.
Wäre eine Fortschrittsanzeige (Prozent, keine ProgressBar) aus Sicht der Nutzerfreundlichkeit hier vernachlässigbar? Falls ja, lasse ich das einfach weg. Ist eine gewisse Aufgabe in meinem Programm erledigt, kann man sich via SMTP einen Report zusenden lassen. Da ich keine Datenerhebung in meinem Programm habe, auch keine anonyme, weiß ich nicht, wieviele Nutzer diesen Programmteil überhaupt nutzen. Vielleicht ist diese Praktik ja schon veraltet und kann schon alleine deswegen raus. |
AW: Datei mittels TRestHttp herunterladen + Events
Zitat:
Zitat:
|
AW: Datei mittels TRestHttp herunterladen + Events
MAPI habe ich eben geprüft, bei mir jedenfalls nicht verfügbar, vermutlich weil ich Thunderbird Portable nutze.
Ich denke das mit SMTP lasse ich einfach weg. Kommt mir auch veraltet vor. Hauptsache ich bin die OpenSSL-DLLs los. Den OnDownloadProgress-Event brauche ich auch nicht zwingend. Bei maximal 30 MB ist das unnötig. Um bei REST zu bleiben, mache ich das vielleicht mit REST.Client.TDownloadURL. Warum ich aber von Indy komplett weg will, sollte hier ersichtlich sein: ![]() > Pull request vom 29 Apr 2020 > dann vor 6 Tagen: "What is the status of this Pull request?" >> "It is still pending review". |
AW: Datei mittels TRestHttp herunterladen + Events
Nur konsumieren wollen führt halt nicht dazu, dass solche Open Source Projekte Fortschritt machen...
...das war jetzt nicht persönlich gemeint, aber mehr Entwickler in solchen Projekten wäre schon hilfreich! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz