Seite 1 von 1

[Gelöst] FileSize aktualisiert sich nicht

Verfasst: 09.03.2010 02:08
von PureBaser
Moin Moin @all,

wenn ich über den Browser ein Flashvideo anschaue, wird es ja im temporären Ordner gespeichert.

Nun wollte ich mir ein Skript schreiben, welches die Dateigröße (bekannt bzw. die größte im Ordner) immer ermittelt und wenn sich die Dateigröße nicht mehr ändert, dann soll er die Datei in ein anderes Verzeichnis verschieben.

Das Problem ist nur: FileSize() bleibt immer gleich!

Zum Nachvollziehen: Opera + youtube-Video und die Datei mit Delay und FileSize entsprechend ausgeben lassen...

Re: FileSize aktualisiert sich nicht

Verfasst: 09.03.2010 12:35
von Kaeru Gaman
das gleiche passiert dir im Explorer, da wird die neue Größe auch nur angezeigt, wenn du F5 drückst.

probier mal, ob ExamineDirectory Abhilfe schafft, ich fürchte aber nein.

die handelsübliche Herangehensweise ist, das File mit einer eigenen Routine runterzuladen und den Downloadstatus selber zu überwachen.
ist aber in diesem Fall wohl nicht das was du brauchst, du willst ja nur wissen wann es fertig ist.

Fifo speichert während des Downloads als .part, und benennt erst nach dem Download um. Opera macht das wohl nicht.

eine Idee wäre vielleicht, über API zu fragen, ob noch ein Prozess WriteAccess auf das File hat.

Re: FileSize aktualisiert sich nicht

Verfasst: 09.03.2010 13:31
von c4s
Kaeru Gaman hat geschrieben:das gleiche passiert dir im Explorer, da wird die neue Größe auch nur angezeigt, wenn du F5 drückst
Dann simuliert man das doch am Besten.
Ich denke ein bestimmter Flag von SHChangeNotify_() sollte dabei helfen.

Re: FileSize aktualisiert sich nicht

Verfasst: 09.03.2010 17:48
von PureBaser
Gute Ideen, mit der alten API wollte ich als unerfahrener eben nicht arbeiten.

Ich hab dann doch noch was gefunden:

Ich kopiere die Datei solange ins neue Verzeichnis bis es klappt, d.h. Opera die Datei freigibt, weil die finale Dateigröße erreicht ist.

MfG