Datei wird nur einmal downgelodet

Kaiser206

Erfahrenes Mitglied
hallo,

ich habe folgendes Problem:

Ich will eine Datei downloaden,
Code:
URLDownloadToFile(0, "URL", "Datiname", 0, 0);

es klappt das erste mal. Wenn ich aber die Datei erneut downloaden will, da sich ihr Inhalt verändert, wird die datei nicht neugeladen.

Kann mir da jemand weiterhelfen?
 
moin


Gib mal ein bischen mehr Informationen, z.B. ob du was mit der Datei machst.
Vielleicht ist die Datei noch lokal geöffnet und kann deshalb nciht neu überschrieben werden....
Außerdem solltest du mal den Rückgabewert überprüfen.


mfg
umbrasaxum
 
also ich kenne das eigendlich schon.

es ist so:

Code:
Ich lade die datei abc.html down
danach die abc.html?a="generiert"

so gehts.

So nicht:

Code:
Ich lade die datei abc.html down
danach die abc.html

Ich hatte das schonmal bei c++ Builder und habe es so gelöst wie oben beschrieben. Aber das geht doch sicher auch anders oder?
 
Hier schlägt ziemlich sicher das Caching zu. Ich habe mal in der Doku da etwas gesucht, dass man angeben kann, dass das File immer gezogen werden soll, aber nichts gefunden.
 
moin


Das liesse sich ja testen indem man zwischen dem downloaden mal den Chache des IEs leert.


mfg
umbrasaxum
 
Aber es ist ja auch keine richtige lösung den cash zu leeren. Der ist ja schließlich nicht umsonst dar.

Gibt es keine anderen Funktionen?
 
moin


Hast du es denn wenigstens mal probiert?
Was nützen andere Funktionen, wenn du nicht mal weisst woran es liegt?!


mfg
umbrasaxum
 
Du kannst über die WinINet-Funktionen (die mit InternetOpen usw. arbeiten) auch eine Anfrage stellen. Das ist zwar ein bisschen aufwendiger als nur eine einzelne Funktion aufzurufen, dafür kannst du ein lustiges Flag mitgeben, das da angibt, dass der Cache ignoriert werden soll.

Mini-Hinweis: Die URLDownloadToFile ebenso wie die WinINet-Funktionen sind auf 95 erst ab installiertem IE 3.0 vorhanden! (fällt heutzutage kaum noch ins Gewicht sowas, aber man weiss ja nie)
 
Ja, es lag am cash. Wenn man ihn leert funktioniert es wieder einmal... und dann nochmal... uws

Wäre es eigendlich zu kompliziert eine Funktion zu schreiben/benutzen die ohne IE arbeitet?
 
Nuja, das geht, aber ist doch etwas aufwendiger.

A) Sockets - einfach
B) HTTP-Request - sieht einfach aus, sind aber viele kleine Haken dran
C) Verbindung nach draussen: Proxy usw. (kann man von den IE-Einstellungen übernehmen)

Die URLDownloadToFile und WinINet-Funktionen setzen halt alle auf dem IE auf. Einer der Gründe, dass sich der IE nicht (komplett) deinstallieren lässt.
 

Neue Beiträge

Zurück