Hi,
Wie ist es möglich, die Größe der Datei, die z.Z. hochgeladen wird, auszulesen?
Ich möchte nämlich einen Fortschrittsbalken realisieren - die Datenmenge, die z.Z. hochgeladen wurde, habe ich schon gespeichert.
Allerdings benötige ich noch die ganze Dateigröße, um Prozent und einen Balken anzeigen zu können.
Ich dachte da an den HTTP-Header "Content-Length" - aber dieser liefert das ganze Formular. Ich könnte zwar die unrelevanten Elemente (Submit-Button etc) abziehen, aber ich weiß nicht wie der Browser den Header sendet.
Beim Firefox ist z.B. der Dateiname nur der Dateiname, beim IE ist er mit absolutem Pfad, etc.
Ich verwende mod_python, ohne Framework etc. (sollte man vllt nicht - aber ich möchte nicht nach jedem Code irgendein Script aufrufen, was irgendwas macht damit es funktioniert wie bei django - CherryPy würde ich da schon eher bevorzugen - teste ich evtl. auch mal)
Dass es funktioniert, beweist z.B. http://www.raditha.com/megaupload, http://pdoru.from.ro, http://sean.treadway.info/demo/upload.
MfG
Fortschritt - Größe der Datei, die z.Z. hochgeladen wird
Vielleicht hilft dir paste.progress weiter (s. auch Link 'source' ganz oben).
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
http://swfupload.mammon.se/ könnte dich auch noch interessieren 

- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Ich hatte da mal eine Idee für CGI uploads: http://www.python-forum.de/post-27009.html#27009
Was garantiert mir das? Ich kann doch selbst Requests mit eigenen Headern senden, wie ich lustig bin. Und ein Programm, was sich zu sehr auf dessen angebliche Korrektheit verlässt, könnte da ziemlich arge Probleme bekommen, wenn da letztlich mehr oder weniger Daten kommen als erwartet. Stimmst du mir da nicht zu?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wenn du dir einen Browser schreibst der mit Absicht falsche Content-Length schickt, dann wird die Anzeige einfach falsch funktionieren. Daher sollte man sie so implementieren, dass nicht so viel kaputt geht, wenn die Werte falsch sind (DivisionByZero etc.).Y0Gi hat geschrieben:Was garantiert mir das?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
WSGIY0Gi hat geschrieben:Was garantiert mir das?
Ja und? Die Eingabedaten werden nur bis CONTENT_LENGTH gelesen. Wenn du weniger schickst wird mit Nullbytes aufgefüllt.YoGi hat geschrieben:Ich kann doch selbst Requests mit eigenen Headern senden, wie ich lustig bin. Und ein Programm, was sich zu sehr auf dessen angebliche Korrektheit verlässt, könnte da ziemlich arge Probleme bekommen, wenn da letztlich mehr oder weniger Daten kommen als erwartet. Stimmst du mir da nicht zu?
TUFKAB – the user formerly known as blackbird
Es geht einfach darum, dass man sich nicht auf leicht manipulierbare Angaben verlassen, sondern seine Anwendung entsprechend gegen Falschangaben absichern sollte. Das hat Leonidas ja nun ergänzt.
Inwiefern? Wird die Datei nach dem Upload geprüft und der Header neu gesetzt/ggf. korrigiert?blackbird hat geschrieben:WSGIY0Gi hat geschrieben:Was garantiert mir das?
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Dazu hatten wir vor langer Zeit mal geredet: http://www.python-forum.de/topic-4168.html