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)?
22
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:
Aby przesłać wiele zdjęć , rozważ dodatkowo:
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.
źródło
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.
źródło
Kolejnym obrazem, który nie jest obsługiwany bardzo dobrze, ale działa, jest obsługa zip ImageField
źródło
Jeśli umieścisz te pliki w zipie i chcesz / musisz użyć podstawowego modułu Upload, możesz wypróbować Multiple Upload Alone (Drupal 6.x).
źródło
Przesyłanie HTML5 http://drupal.org/sandbox/z7/1348240
Nie próbowałem jeszcze, ale kod jest przejrzysty i zwarty.
źródło