Wie lade ich mehrere Dateien gleichzeitig hoch?


22

Wir müssen mehrere Dateien unterschiedlichen Typs hochladen. Gibt es ein Modul, das nach gültigen MIME-Typen sucht und nur die gültigen Dateien hochlädt (basierend auf den Site-Einstellungen, zB: png, doc, jpg, txt)?

Antworten:


27

clientside_validation (drupal-6 und drupal-7) führt einige zusätzliche clientseitige Überprüfungen durch, einschließlich Überprüfungen der hochgeladenen Dateierweiterungen (aber nicht der MIME-Typen). (Und, wie in den Kommentaren unter @ tim.plunkett erwähnt, ist mimedetect nützlich für die serverseitige MIME-Typ-Validierung, aber die Datei muss auf den Server hochgeladen werden, um validiert zu werden.)

Beachten Sie beim Hochladen mehrerer Dateien Folgendes:

  • swfupload (Drupal-6; Flash)
  • plupload (Drupal-6 und Drupal-7; Flash und verschiedene andere Technologien werden unterstützt; neu / in Entwicklung)

Beachten Sie beim Hochladen mehrerer Bilder zusätzlich Folgendes:

  • image_fupload (drupal-6; verwendet swfupload oben)
  • jifupload (Drupal-5 und Drupal-6; kostenlos; verwendet Java-Applet)
  • Aurigma (Drupal-6; Software-Kauf / Service-Abonnement erforderlich)

2
Ich habe nach MIME-Typen gefragt, weil ich gelesen habe, dass es besser ist, sie zu verwenden, als nur die Dateierweiterungen zu überprüfen.
Palbakulich

@palhmbs - Du liest richtig. Sie sollten immer den MIME-Typ der hochgeladenen Dateien überprüfen.
Christian

1
Jedes der oben genannten Module kann in MimeDetect integriert werden und dies für Sie erledigen.
tim.plunkett

Wenn Sie clientside_validation erweitern möchten, um mimedetect zu verwenden, geben Sie den Code an einer beliebigen Stelle ein und lassen Sie uns die Funktion für die allgemeine öffentliche Verwendung hinzufügen.
Capi Etheriel

5

Wir haben mit Plupload viel Glück gehabt . Es wird rückwärts gebogen, um eine browserübergreifende Kompatibilität mit Silverlight, Flash und HTML5 zu erreichen. Abhängig von den Funktionen des Browsers wird auf die klassischen HTML4-Widgets zur Dateiauswahl zurückgegriffen.

Das Drupal-Integrationsmodul ist etwas rau, aber wir haben es erfolgreich in einer Reihe von großen Projekten zum Auffüllen von Bildfeldern verwendet. In Drupal 7 haben sie meines Erachtens den größten Teil der Benutzeroberfläche in ein reines API-Modul umgewandelt, das von Tools wie Media verwendet werden kann, um einfach die Upload-Arbeit zu erledigen. Wenn Sie etwas besonders Unkonventionelles tun möchten, müssen Sie wahrscheinlich ein wenig benutzerdefinierten Code schreiben, um zu handhaben, wo das Upload-Widget angezeigt wird, aber es ist sehr solide.

Wir haben es geschafft, die internen Ereignisse zu verknüpfen, um einiges an Nachbearbeitung zu bewältigen, und die Überprüfung auf MIME-Typen / Fehler bei der Rücknahme der Validierung könnte wahrscheinlich ohne allzu viel Bastelei durchgeführt werden.


1
Haben Sie jemals die D6-Version von Plupload verwendet?
DoubleJosh

@Eathon Haben Sie eine Idee bezüglich des automatischen Uploads im Upload-Modul. Ich habe eine Idee von der Diskussion drupal.org/node/1804382#comment-7810763 . Es gibt auch die Lösung stackoverflow.com/questions/8137229/… , aber ich weiß nicht, wie man mit Drupal von API integriert
mohit_rocks

4

Hier ist mein Vergleichswiki in der Gruppe "Similar Module Review". http://groups.drupal.org/node/155764

Den Inhalt hier ablegen, wie er jetzt ist ...

Aurigma Mass Uploader für CCK (6.x-2.0) Das Modul Aurigma Uploader für Imagefield integriert den kommerziellen Aurigma Image Uploader in Drupal. Mehrere Bilder werden in einem Stapel in ein Feld mit mehreren Bildern hochgeladen.

Image FUpload (6.x-3.0-rc2) Image FUpload (Multiupload), eine Ergänzung zum Image- und CCK-Imagefield-Modul, ermöglicht jedem Benutzer, der Bilder mithilfe des Image- oder Imagefield-Moduls hochladen darf, das Hochladen mehrerer Bilder Bilder mit einem einfachen Klick. Alle ausgewählten Bilder werden über ein Flash-Modul (swfupload) hochgeladen und automatisch verarbeitet.

Integration von Plupload (6.x-1.x-dev, 7.x-1.0-beta3) Bietet eine Integration zwischen dem Plupload-Widget zum Hochladen mehrerer Dateien und Drupal. Plupload ist ein GPL-lizenziertes Tool zum Hochladen mehrerer Dateien, mit dem Widgets in Flash, Gears, HTML 5, Silverlight, BrowserPlus und HTML4 je nach den Funktionen des Clientcomputers dargestellt werden können.

SWFUpload (6.x-2.0-beta8) Das SWFUpload-Modul für Drupal bietet ein Widget für CCKs Filefield und ermöglicht mithilfe der SWFUpload-Bibliothek das gleichzeitige Hochladen mehrerer Dateien.

jUpload für Imagefield (6.x-1.x-dev) Haben Sie sich jemals gewünscht, Sie könnten eine Gruppe von Bildern auf einmal in ein Imagefield hochladen? Das Modul jUpload für Imagefield (jifupload) integriert das Java-Applet JUpload in das ImageField-Modul für CCK. Mehrere Bilder werden in einem Stapel in ein für mehrere Werte festgelegtes Bildfeld hochgeladen.

Anderer Ansatz, gleiches Ergebnis ...

ImageField Zip-Unterstützung (6.x-1.0-beta2) Dies ist ein Hilfsmodul für ImageField. Beim Hochladen mehrerer Bilder für Bildfelder mit mehreren Werten bietet dieses Modul die Möglichkeit, mehrere Bilder in ZIP-Dateien anstatt einzeln hochzuladen.

Imagefield-Import (5.x-1.5, 6.x-1.10) Mit Imagefield-Import können Benutzer mit den entsprechenden Berechtigungen eine große Anzahl von Bildern in einen CCK-Inhaltstyp importieren, der ein Dateifeld oder ein Imagefield enthält. Das Modul kann Titel und Beschreibungen mit EXIF ​​oder IPTC erfassen. Hinweis: Um dieses Modul verwenden zu können, müssen Sie Bilder über FTP, SCP oder andere Methoden auf Ihren Server hochladen können.



2

Wenn Sie diese Dateien in eine ZIP-Datei packen können und das Core-Upload-Modul verwenden möchten / müssen, können Sie Multiple Upload Alone (Drupal 6.x) ausprobieren .


0

HTML5-Upload http://drupal.org/sandbox/z7/1348240

Diese Module sollten als optimierte Lösung zum Batch-Upload von Bildern (und anderen Dateien) für Drupal 7 in einem modernen (HTML5-kompatiblen) Browser angesehen werden, mehr nicht.

Ich habe es noch nicht versucht, aber der Code ist klar und kompakt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.