21 Stimmen

Gmail-ähnlicher Datei-Upload mit jQuery

Ich würde gerne Dateien hochladen, so wie es bei Google Mail möglich ist. Ich möchte jQuery und PHP verwenden, um es zu tun, gibt es irgendwie die Fortschrittsanzeige usw. zu bekommen?

Hier habe ich ein Video hinzugefügt, das zeigt, wie Google das macht. http://dl.getdropbox.com/u/5910/Jing/2009-04-02_1948.swf

Kein Flash, kein Perl oder cgi bitte

Ich denke, ich kann ohne die Fortschrittsanzeige leben, jetzt suche ich eigentlich nach Informationen über Jquery-Plugins oder einfach nur nach Dingen, die ich mir ansehen müsste

13 Stimmen

Nur damit Sie es wissen: Google verwendet Flash in GMail, um dies zu erreichen. Wenn Sie mit der rechten Maustaste auf den Link "Datei anhängen" klicken, werden Sie feststellen, dass es sich um eine transparente SWF-Datei handelt. Außerdem gibt es Möglichkeiten, Dateien asynchron mit iFrames hochzuladen, wenn Sie Flash gar nicht verwenden möchten. Ajax unterstützt einfach keine binären Daten.

1 Stimmen

Ok, wenn Gmail Flash verwendet, wie können sie jetzt auch html5 Datei drag&drop unterstützen?

1voto

Julien Punkte 5630

GMail verwendet Flash, um die Datei im Hintergrund hochzuladen. SWFUpload ist ein Open-Source-Projekt, das etwas Ähnliches anstrebt.

1voto

B Squared Punkte 23

...gmail verwendet einen iFrame, der den Stil display:hidden hat; wenn Sie dann im Formular hochladen, wird der iFrame an die Upload-URL gesendet. Es ist überhaupt kein Flash im Spiel. Das Einzige, was Google bei Google Mail mit Flash macht, sind Geräusche für Chats. Und das muss man in den Einstellungen zulassen. Sie verwenden Flash nicht allzu oft, weil es ziemlich viel Speicher und CPU verbraucht. Javascript kann alles, was Flash kann (wenn auch mit viel mehr Code in einigen Fällen), aber Javascript ist in 99% der Fälle viel schneller und besser im Speicher.

2 Stimmen

Arbeiten Sie mit Linux? Sie stellen den Flash-Uploader für Linux-Clients nicht zur Verfügung, da der Linux-Flash-Player fehlerhaft ist. SWFUpload zum Beispiel hat ein bekanntes Problem, bei dem die Browser unter Linux einfrieren.

1voto

Rolf Babijn Punkte 58

Vielleicht können Sie PlUpload verwenden. Es unterstützt eine Vielzahl von Typen und ist in hohem Maße anpassbar. Sie können sich die Demos auf der Website ansehen. Auf der Homepage zeigt es auch an, was es auf der Homepage unterstützt und hat einen Fallback-Mechanismus.

http://www.plupload.com/

Bearbeiten: Es ist als jQuery-Plugin verfügbar.

0voto

yasirmturk Punkte 1903

SWFUpload ist gud und kompatibel mit allen Arten von Webanwendungen

0voto

Über Ajax nicht unterstützt binäre Daten während des Formulars Übermittlung.. es gibt einen Workaround; wenn Sie jQuery sind, dann können Sie dieses Formular Plugin (von malsup) hier auf http://www.malsup.com/jquery/form/ . Ich benutze es schon seit Jahren...

Auch plupload scheint vielversprechend Daumen hoch dafür ;) ich muss sagen, es ist ein bisschen sperrig!!!

0 Stimmen

Der Code, der von hier aus verlinkt ist, scheint die binären Daten in ein Textfeld zu schreiben und sie dann speziell im Backend zu behandeln. Ich habe nicht versucht, es zu verwenden, obwohl.

0 Stimmen

Es scheint so, aber es funktioniert wie ein Zauber. Ich hatte es eine Zeit lang ausgiebig für ein Projekt verwendet. Ich habe es verwendet, um riesige HTML-Formulare zu versenden. Ich muss sagen, dass ich ein zufriedener Kunde bin. lol.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X