Frage

Ich brauche eine einfache Möglichkeit, Benutzer zu erlauben, mehrere Dateien auf einmal zu (dh ich brauche, damit ein Benutzer einen Ordner laden). Ich möchte nicht die Last der zippen auf den Benutzer setzen.

Ich würde es vorziehen, Blitz zu vermeiden oder Varianten, wenn möglich. Ich suche nach einer geraden JavaScript / HTML Lösung, wenn es möglich ist. Bitte beachten Sie, diese Regeln Sie die Antworten auf: Was ist die beste Client-Browser-Bibliothek, um mehrere Dateien über http zu laden .

War es hilfreich?

Lösung

Sie werden nicht in der Lage sein, es mit nur HTML und Javascript zu tun. Ich würde empfehlen, Fancy Hochladen versuchen, ein MooTools Plugin für Upload von mehreren Dateien. Es verwendet eine Mischung aus JavaScript und Flash, sondern degradiert anmutig. Es funktioniert mit allen gängigen Browsern wie IE6 und es gibt auch eine Flash 10 kompatible Version zum Download zur Verfügung (obwohl die Demo wurde noch nicht aktualisiert).


Update (2012.11.26):

Mehrere Datei Uploads sind möglich mit valums oder blueimp Datei uploaders.

Rekursivverzeichnissen Uploads, die beste Lösung wird unter Verwendung von Chrome 11 der neuen Ordner-Upload API . Es scheint auch auf Firefox zu arbeiten, wenn Sie einen Anbieter Präfix verwenden.

Andere Tipps

Mit Firefox 42 und Kante die neuen Verzeichnis Upload implementiert wir ll schließlich in der Lage Cross-Browser-Verzeichnis Uploads zu tun. Die APIs sind böse genug, dass man meine Wrapper überprüfen, Uppie möchten.

Wenn Sie Flash vermeiden sind (und vermutlich Java?) Die JS / HTML-only Lösung noch Single-File inputs erfordert, aber im Wesentlichen befestigen Sie eine onchange Veranstaltung zu Ihrem input, das Hinzufügen eines neuen input auf das DOM, wenn eine Datei ausgewählt ist.

FTP? Und wenn necs, wickeln Sie in Java-Applet, ActiveX oder was auch immer Sie wollen.

Wenn nicht, obwohl Sie den Blitz nicht wollen, SWFUpload recht kühl ist, können Sie es als eine anständige Option zu überdenken wollen.

Mehrere Datei Uploads sind möglich mit valums oder blueimp Datei uploaders.

Rekursivverzeichnissen Uploads, sind Ihre Möglichkeiten stärker eingeschränkt:

  • Ihre beste Lösung wird unter Verwendung von Chrome 11 die neue Ordner-Upload API . Es scheint auch auf Firefox zu arbeiten, wenn Sie einen Anbieter Präfix verwenden.

  • Dies ist auch möglich, Cross-Browser mit einem Java-Applet . Doch die% der Leute mit einem JRE installiert ist ziemlich niedrig in diesen Tagen bekommen ( <70% )

Dies ist keine reine js / html Lösung. Wie EndangeredMassa darauf hingewiesen hat, ist es nicht möglich. In der Tat ist diese Idee ein IE / nur Windows-Lösung. Ich würde es nicht empfehlen, aber es kann funktionieren.

Also, alle Haftungsausschluss beiseite ...

Viele Jahre und mehrere Arbeitgeber vor, haben wir einige Client-Seite Sachen zu tun, die das Filesystem instanziiert. Es würde durch jede der Dateien durchlaufen und sie durch an den Server einer nach dem anderen passieren. Kann mich nicht erinnern die Details, wie wir das gemacht haben, dass: o (

Wie auch immer, dies bedeutete, in der Regel, dass die Client-Box haben muß, würde die Website der Liste der vertrauenswürdigen Sites hinzufügen und vertrauenswürdige Websites eine Reihe von Berechtigungen zu geben, die ausgeschaltet sind (für sehr gute Gründe). Stuff wie die Fähigkeit, initialisieren und ausführen, ActiveX-Steuerelemente, die nicht sicher ist. Diese Art der Sache.

Ich weiß, dass dies keine perfekte Antwort ist, aber es könnte Sie in die richtige Richtung zeigen.

Hier ist reine JS-Lösung unter Verwendung von ExtJS Bibliothek

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top