Jak przesłać wiele plików jednocześnie?


22

Musimy przesłać wiele plików różnych typów, czy istnieje moduł, który sprawdzi poprawne typy MIME i prześle tylko prawidłowe pliki (na podstawie ustawień witryny, np .: png, doc, jpg, txt)?

Odpowiedzi:


27

clientside_validation (drupal-6 i drupal-7) wykonuje dodatkowe kontrole po stronie klienta, w tym sprawdzanie przesłanych rozszerzeń plików (ale nie typów MIME). (I, jak wspomniano w komentarzach @ tim.plunkett, mimedetect przydaje się do sprawdzania poprawności typu MIME po stronie serwera, ale plik musi zostać przesłany na serwer, aby został zatwierdzony.)

W przypadku przesyłania wielu plików należy wziąć pod uwagę następujące kwestie:

  • swfupload (drupal-6; Flash)
  • plupload (drupal-6 i drupal-7; obsługiwane Flash i kilka innych technologii; nowe / w przygotowaniu)

Aby przesłać wiele zdjęć , rozważ dodatkowo:

  • image_fupload (drupal-6; używa swfupload powyżej)
  • jifupload (drupal-5 i drupal-6; wolny; używa apletu Java)
  • aurigma (drupal-6; wymagany zakup oprogramowania / subskrypcja usługi)

2
Zapytałem o typy MIME, ponieważ przeczytałem, że używanie ich jest lepszą praktyką niż tylko sprawdzanie rozszerzeń plików.
palbakulich

@palhmbs - czytasz poprawnie. Zawsze należy sprawdzić typ MIME przesyłanych plików.
Christian

1
Każdy z powyższych modułów może zostać zintegrowany z MimeDetect i obsłużyć to za Ciebie.
tim.plunkett 15.03.11

Jeśli chcesz przedłużyć walidację klienta do użycia funkcji mimedetect, opublikuj gdzieś kod i pozwól nam dodać tę funkcję do ogólnego użytku publicznego.
Capi Etheriel

5

Mieliśmy doskonałe szczęście z Plupload . Przechyla się do tyłu, aby osiągnąć zgodność z różnymi przeglądarkami, używając Silverlight, Flash, HTML5 i wracając do klasycznych widżetów HTML4 „wybierz plik” w zależności od możliwości przeglądarki.

Moduł integracja Drupal jest nieco szorstka, ale używaliśmy go z powodzeniem na kilku dużych projektów, aby wypełnić Obrazek Fields. Wydaje mi się, że w Drupal 7 ściągnęli większość interfejsu użytkownika i zamienili go w czysty moduł API, który może być wykorzystywany przez narzędzia takie jak Media do obsługi przesyłania. Jeśli chcesz zrobić coś szczególnie funky, prawdopodobnie będziesz musiał napisać trochę niestandardowego kodu, aby obsłużyć miejsce wyświetlania widżetu przesyłania, ale jest bardzo solidny.

Udało nam się powiązać z jego wewnętrznymi zdarzeniami, aby obsłużyć sporo przetwarzania końcowego, a sprawdzanie typów MIME / błędów sprawdzania poprawności może być wykonane bez nadmiernego majsterkowania.


1
Czy kiedykolwiek używałeś wersji Plupload D6?
doublejosh

@Eathon Czy masz pomysł na automatyczne przesyłanie w module plupload. Mam pomysł z dyskusji drupal.org/node/1804382#comment-7810763 . Istnieje również rozwiązanie stackoverflow.com/questions/8137229/... , ale nie wiem, jak zintegrować z
drupalem

4

Oto moja wiki porównawcza w grupie recenzji podobnych modułów. http://groups.drupal.org/node/155764

Zrzut zawartości tutaj, tak jak jest teraz ...

Aurigma Mass Uploader dla CCK (6.x-2.0) Moduł Aurigma Uploader dla Imagefield integruje komercyjny Aurigma Image Uploader z Drupal. Wiele obrazów jest przesyłanych w jednej partii do wielu pól obrazu.

Image FUpload (6.x-3.0-rc2) Image FUpload (Multiupload), który jest dodatkiem do obrazu i modułu imagefield CCK, daje możliwość każdemu użytkownikowi, który może przesyłać zdjęcia przy użyciu modułu obrazu lub modułu imagefield, do przesyłania wielu obrazy jednym kliknięciem. Wszystkie wybrane obrazy są przesyłane przez moduł flash (swfupload) i są przetwarzane automatycznie.

Integracja Plupload (6.x-1.x-dev, 7.x-1.0-beta3) Zapewnia integrację pomiędzy widgetem Plupload do przesyłania wielu plików a Drupalem. Plupload to licencjonowane przez GPL narzędzie do przesyłania wielu plików, które może prezentować widżety we Flashu, Gears, HTML 5, Silverlight, BrowserPlus i HTML4 w zależności od możliwości komputera klienckiego.

SWFUpload (6.x-2.0-beta8) Moduł SWFUpload dla Drupal zapewnia widget dla pola Filtra CCK i korzysta z biblioteki SWFUpload, aby umożliwić jednoczesne przesyłanie wielu plików.

j Załaduj dla Imagefield (6.x-1.x-dev) Czy kiedykolwiek chciałeś, abyś mógł załadować grupę obrazów jednocześnie na pole obrazu? Moduł jUpload for Imagefield (jifupload) integruje aplet JUpload Java z modułem ImageField dla CCK. Wiele obrazów jest przesyłanych w jednej partii do zestawu pól obrazu dla wielu wartości.

Inne podejście, ten sam wynik ...

Obsługa zip ImageField (6.x-1.0-beta2) To jest moduł pomocniczy dla ImageField. Podczas przesyłania wielu zdjęć dla pól obrazu o wielu wartościach moduł ten dodaje możliwość przesyłania wielu zdjęć w plikach zip zamiast pojedynczo.

Import pola obrazu (5.x-1.5, 6.x-1.10) Import pola obrazu umożliwia użytkownikom z odpowiednimi uprawnieniami importowanie dużej liczby obrazów do typu zawartości CCK, który zawiera pole pliku lub pole obrazu. Moduł może pobierać tytuły i opisy za pomocą EXIF ​​lub IPTC. Uwaga: Aby użyć tego modułu, musisz mieć możliwość przesyłania zdjęć na serwer za pośrednictwem FTP, SCP lub innych metod.




0

Przesyłanie HTML5 http://drupal.org/sandbox/z7/1348240

Moduły te należy uznać za usprawnione rozwiązanie do seryjnego przesyłania obrazów (i innych plików) dla Drupala 7 we współczesnej przeglądarce (zgodnej z HTML5), nic więcej.

Nie próbowałem jeszcze, ale kod jest przejrzysty i zwarty.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.