Entwickler-Ecke

Wünsche, Anregungen & Kritik - Upload (mit Ajax) verbessern


Heiko - Mo 24.04.06 15:19
Titel: Upload (mit Ajax) verbessern
Hi,

ich melde mich mal auch wieder hier, denn mit der Zeit kommtn man im Inernet auch immer weiter rum, und findet Anregungen für dieses Forum ;).
Und zwar ist mir aufgallen, dass man das Uploaden von Dateien verbessern könnte. Sprich, wenn man eine Dateipfad ausgewählt hat, dass er es im Hintergrund hochlädt, so wie es bei Googlemail der Fall ist. Das wäre ganz praktisch, da man dann nebenbei noch weiterschreiben kann.
Und wo ich letztes mal bei rapidshare etwas hochgeladen hatte, ist mir dort auch noch etwas aufgefallen was ich gut fand. Und zwar gibt es für das Uploaden einen Fortschrittsbalken, also bei wieviel Prozent er gerade ist und natürlich auch wieviel KB/MB von der Dateigröße (auch angegeben). Ich fands da praktisch, da ich eine 98 MB-Datei über eine bereits vorm Upload belegte 1000er-Leitung hochladen wollte ;).

Heiko


F34r0fTh3D4rk - Mo 24.04.06 15:44

Da bin ich auch absolut für, wenn das technisch df seitig machbar ist ;)


JayK - Mo 24.04.06 17:09

Fänds auch genial :D


GTA-Place - Mo 24.04.06 20:30

Wunderbare Idee.


Danniolo - Fr 28.04.06 19:58

Genial, das wäre auf jeden Fallmal eine echt praktische Fuktion!
@Team: wäre doch mal überlegenswert, und soviel Aufwand wäre das IMHO auch net. :roll:


Christian S. - Fr 28.04.06 20:00

Ich fänd so eine Funktion auch nett und für AJAX habe ich eh ein Faible. Ich werde mir das mal ansehen :zwinker:


BenBE - Fr 20.10.06 00:46

Hi Christian,

wie weit sehen deine Nachforschungen zu dieser Funktion aus?

MfG,
BenBE.


Christian S. - Fr 20.10.06 00:53

Ich hab ein paar Bookmarks, bin aber noch nicht dazu gekommen, mich eingehender damit zu beschäftigen. In nächster Zeit habe ich wohl genug damit zu tun, die Bugs aus der nächsten Forenversion zu vertreiben, danach ist wieder Platz dafür.


delfiphan - Fr 20.10.06 03:29

Datei-Upload per AJAX ist nicht direkt möglich. Man muss ein unsichtbares iframe ins Dokument einbetten und einen normalen Datei-Upload per HTML-Form verwenden, mit target aufs iframe. Upload mit Fortschrittbalken von Hand ist eher schwierig. Da man den partiellen Fortschritt clientseitig nicht ermitteln kann (da das via HTML-Form passiert), musst du ein serverseitiges Skript haben, welches dem Client fortlaufend den aktuellen Uploadstand mitteilt (bzw. der Client muss den Server pollen). Mir kommt momentan keine Möglichkeit in den Sinn, ein solches serverseitiges Skript und somit den Fortschrittbalken in PHP zu implementieren.

Natürlich gibt es AJAX-Tookits die sowas erlauben ohne viel von Hand schreiben zu müssen (Ruby on Rails); für den Fortschrittbalken braucht es aber soweit ich weiss immer ein zusätzliches CGI-Skript.


Martok - Fr 20.10.06 14:42

Man könnte den Fortschrittsbalken als ASCII-Grafik machen. Der Server liefert dann immer ein Zeichen mehr, wenn eine Bestimmte Prozentzahl durch ist. Sollte duch mit echo('#')(nicht sicher, kann kein PHP...) gehen, oder?
Das mit dem Pollen klappt zumindest bei mir nie, da der Upload den Downloadkanal mit dichtmacht. Damit krieg ich den Fortschrittsbalken erst, wenn alles 'zu spät' ist.


delfiphan - Fr 20.10.06 15:25

Das geht nicht, da dein PHP Skript erst dann ausgeführt wird, wenn die Datei schon komplett raufgeladen wurde.


Heiko - Fr 20.10.06 15:28

user profile icondelfiphan hat folgendes geschrieben:
Das geht nicht, da dein PHP Skript erst dann ausgeführt wird, wenn die Datei schon komplett raufgeladen wurde.

Nun ja, irgendwie muss es ja doch gehen, denn rapidshare machts ja auch ;).


delfiphan - Fr 20.10.06 15:31

Ich habe ja bereits geschrieben, wie man das macht (ich sagte nur eben mit PHP allein geht's wohl nicht) ;) Es braucht ein Apache Modul oder sonst irgendwas, welches den Upload-Status ermitteln kann. Das Modul macht die Info dann clientseitig "pollbar".


Heiko - Fr 20.10.06 15:42

user profile icondelfiphan hat folgendes geschrieben:
Ich habe ja bereits geschrieben, wie man das macht (ich sagte nur eben mit PHP allein geht's wohl nicht) ;) Es braucht ein Apache Modul oder sonst irgendwas, welches den Upload-Status ermitteln kann. Das Modul macht die Info dann clientseitig "pollbar".


Aso, hatte ich schon vermutet (ist mir erst nach dem Absenden meines Beitrages eingefallen ;) ). Da ist allerdings die Frage, ob Tino nen vServer oder einfach nur nen WebServer besitzt.


delfiphan - Fr 20.10.06 18:36

Ich denke den Balken wird es nie geben (lohnt sich doch nicht bei so kleinen Files) ;). Aber ein Upload, der im Hintergrund abläuft, wäre sicherlich keine schlechte Idee.


Heiko - Fr 20.10.06 19:56

user profile icondelfiphan hat folgendes geschrieben:
Ich denke den Balken wird es nie geben (lohnt sich doch nicht bei so kleinen Files) ;).

Oh doch. Denk mal an die Dörfler ( :arrow: oft max. ISDN ;) )
user profile icondelfiphan hat folgendes geschrieben:
Aber ein Upload, der im Hintergrund abläuft, wäre sicherlich keine schlechte Idee.

Jupp, wäre ein weiteres Feature, was man in dem Zusammenhang mit einbauen könnte.


Regan - So 22.10.06 15:47

user profile iconHeiko hat folgendes geschrieben:
user profile icondelfiphan hat folgendes geschrieben:
Ich denke den Balken wird es nie geben (lohnt sich doch nicht bei so kleinen Files) ;).

Oh doch. Denk mal an die Dörfler ( :arrow: oft max. ISDN ;) )

Was soll denn das heißen!? Aber es ist ja nett, dass du nicht "denk doch mal an die Ossis" geschrieben hast.
user profile iconHeiko hat folgendes geschrieben:
user profile icondelfiphan hat folgendes geschrieben:
Aber ein Upload, der im Hintergrund abläuft, wäre sicherlich keine schlechte Idee.

Jupp, wäre ein weiteres Feature, was man in dem Zusammenhang mit einbauen könnte.

Ich würde auch vollkommen dafpr aussprechen.


Heiko - So 22.10.06 15:52

user profile iconRegan hat folgendes geschrieben:
user profile iconHeiko hat folgendes geschrieben:
user profile icondelfiphan hat folgendes geschrieben:
Ich denke den Balken wird es nie geben (lohnt sich doch nicht bei so kleinen Files) ;).

Oh doch. Denk mal an die Dörfler ( :arrow: oft max. ISDN ;) )

Was soll denn das heißen!? Aber es ist ja nett, dass du nicht "denk doch mal an die Ossis" geschrieben hast.

Warum so beleidigt? Bin doch auch ein Ossi ;). Aber bei ein ganz paar stimts nun einmal (siehe user profile iconBenBE, bei dem es nur ISDN gibt), aber auch bei mir in der Gegend gibts noch nen ganz paar Dörfer ohne DSL.