AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi URLDownloadToFile ohne Cache
Thema durchsuchen
Ansicht
Themen-Optionen

URLDownloadToFile ohne Cache

Ein Thema von himitsu · begonnen am 25. Feb 2004 · letzter Beitrag vom 26. Feb 2004
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

URLDownloadToFile ohne Cache

  Alt 25. Feb 2004, 00:05
Ich lade einige Dateien mit URLDownloadToFile runter, das geht auch ganz gut.

Danach mach ich 'nen Hash-Vergleich, um die Datei zu prüfen.


Dabei ist mir aber aufgefallen, das vorrangig die Kopie aus dem IE-Cache damit geholt wird, wenn diese vorhanden ist.

Das ist ja auch nicht schlecht - schneller und weniger Traffik.

Aber manchmal kommt es vor, das sich auf dem Server eine neuere Version dieser Datei befindet aber immernoch die "alte" Kopie aus dem IE-Cache verwendet wird.


Ist es also möglich zu verlangen, das nicht die Datei aus dem Cache, sondern die Neue runtergeladen wird?


Ich könnte ja unter cDownloadStatusCallback.OnProgress, ulStatusCode = BINDSTATUS_CACHEFILENAMEAVAILABLE den Namen der Datei im Cache erhalten und diese nach dem Download löschen, so dass bei einem Fehler und im nächsten Durchgang auf jeden Fall die neue runtergeladen würde, also wenn z.B. eine ältere Version geladen wurde.

Aber so ganz sauber finde ich diese Art, mit dem Löschen, nicht.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: URLDownloadToFile ohne Cache

  Alt 25. Feb 2004, 00:44
Gibt es da nicht irgendeinen Flag, der besagt, dass die Datei nicht aus dem Cache geholt werden soll? Ich meine ich hätte da mal was gesehen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Bit Juggler
(Gast)

n/a Beiträge
 
#3

Re: URLDownloadToFile ohne Cache

  Alt 25. Feb 2004, 01:02
Hi,
laut MSDN
gibt es wohl so ein Flag nicht wie Luckie meint!
Wenn ich mich aber nicht täusche dann ist das Laden von Dateien aus dem Cache eine Generelle abart vom Internet Explorer!
Ich hatte mal einen Download mit 400 kb/s und hab mich gewundert wie das zustande kommen kann! (Hab "nur" DSL)
Im laufe dieser Disskusion schrieb dann halt jemand das die Datein wenn schon vorhanden aus dem Chache geladen werden...

Die Einfachste Lösung um das zu umgehen wäre wohl wenn Du jedes mal vor einem Download erst einmal im Cache nachauen lässt ob die Datei schon vorhanden ist und wenn ja diese vor dem Download löschen lässt!
So ist immer gewährleistet das die Downloads aktuell sind.

Gruß Bit

[Nachtrag:
Auf den Swiss Delphi Seiten gibt es eine Prozedur zum löschen des Gesamtem Caches: Cache löschen
Die kannst Du bestimmt Deinen Wünschen entsprechend anpassen... ]
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#4

Re: URLDownloadToFile ohne Cache

  Alt 25. Feb 2004, 01:19
ich hatte anfangs auch erst URLDownloadToFile verwendet, bin aber dann doch auf INDY umgestiegen.
Da wird der Internet Explorer Cache gar nicht genutzt.
Ausserdem hatte INDY den Vorteil, dass man auch in einen Stream im Speicher laden kann.
Da muss man nich so viel auf der Festplatte rummurksen, wenn man mit den Daten was machen möchte. Das ging per URLDownloadToFile nicht , zumindest hab ich nix gefunden. Da gehts nur direkt auf Festplatte.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: URLDownloadToFile ohne Cache

  Alt 25. Feb 2004, 01:30
Nun ja. Aber wenn man den Overhead der Indy's vermeiden möchte und es nur um das Runterladen geht...
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: URLDownloadToFile ohne Cache

  Alt 25. Feb 2004, 01:57
Also den kompletten Cache wollte ich ja nicht unbedingt löschen.

Und 'ne extra Komponente einzubinden wollte ich auch nicht unbedingt.

Und teilweise ist das ja nicht schlecht, das die Version aus'm Cache verwendet wird.



Dann mach ich wohl doch das mit dem Löschen der Cache-Version nach dem Download,

bei 'ner falschen/defekten Dateiversion und 'nem nochmaligen, "richtigen" Download.



PS: Wie kann ich den abfragen, ob eine Datei schon im Cache liegt.

Sonst werden 2 Dateien (vermutlich ~200 KB) doppelt geladen.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: URLDownloadToFile ohne Cache

  Alt 26. Feb 2004, 12:34
http://FNSE.de/15S.gif

Keine(r) 'ne Ahnung, wie ich "einfach" und möglicht nur mit den Standard-Dalphi-Komponenten/Funktionen herausfinden kann, ob eine bestimmte Datei (z.B. www.meineURL.de/dieDatei.endung) bereits im IE-Cache drin ist und unter welchem Namen?


Mein Update (das Download-Proggi) läuft jetzt schon "super".

Nur das Proggi, welches die Uploaddateien zusammenstellt und die hochgeladenen Dateien prüft, braucht recht lange - für ~2000 Dateien / 6,5 MB benötigt es mindestens 20 Minuten.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02: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