Thema: Delphi Download ohne Cache?

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Download ohne Cache?

  Alt 3. Mär 2008, 08:48
Moin zusammen,

Zitat von Christian Seehase:
... Das tut sie, meiner Erfahrung nach, leider nicht, weshalb ich in so einem Falle die Indys (TidHTTP) zu verwenden. ...
vielleicht sollten wir das Thema etwas vertiefen.

Die API Funktion UrlDownloadToFile() fordert ein Dokument grundsätzlich vom Server an. Will ich das nicht, dann muss ich UrlDownloadToCacheFile() verwenden. Dieses Verhalten sollte seit IE4 zu beobachten sein. Mir ist bewusst, dass es widersprüchliche Beiträge im Internet gibt. Ich habe deshalb meine Aussage mit einem lokalen HTTP-Server verifiziert.

UrlDownloadToFile() kann nicht verhindern, dass der Server mit dem Status-Code 304 (Not Modified) arbeitet, was dazu führt, dass ein eventuell im lokalen Cache vorhandenes Dokument angedient wird.

Ich würde den Fehler beim Standalone HTTP-Server der WebCam suchen und mir ansonsten so behelfen:

Delphi-Quellcode:
function Download(const url, fn: string; allowFromCache: Boolean = True): Boolean;
begin
  if not allowFromCache then
    DeleteUrlCacheEntry(PChar(url));
  Result := Succeeded(UrlDownloadToFile(nil, PChar(url), PChar(fn), 0, nil));
end;
Freundliche Grüße

PS: Die Referenz zu allen Windows API Funktionen ist natürlich der Windows SDK (vormals Windows Platform SDK) - auch Online.
  Mit Zitat antworten Zitat