¿Cómo subir varios archivos a la vez?

22

Necesitamos cargar múltiples archivos de diferentes tipos, ¿hay un módulo que verifique los tipos mime válidos y cargue solo los archivos válidos (según la configuración del sitio, por ejemplo: png, doc, jpg, txt)?

palbakulich
fuente

Respuestas:

27

clientside_validation (drupal-6 y drupal-7) realiza algunas comprobaciones adicionales del lado del cliente, incluidas las comprobaciones de las extensiones de archivo cargadas (pero no los tipos MIME). (Y, como @ tim.plunkett mencionó en los comentarios, mimedetect es útil para la validación del tipo MIME del lado del servidor, pero el archivo debe cargarse en el servidor para poder validarlo).

Para cargar múltiples archivos, considere lo siguiente:

  • swfupload (drupal-6; Flash)
  • plupload (drupal-6 y drupal-7; Flash y varias otras tecnologías compatibles; nuevo / en desarrollo)

Para cargar varias imágenes , considere adicionalmente estas:

  • image_fupload (drupal-6; usa swfupload arriba)
  • jifupload (drupal-5 y drupal-6; gratis; utiliza el applet de Java)
  • aurigma (drupal-6; se requiere suscripción de servicio / compra de software)
smokris
fuente
2
Pregunté acerca de los tipos MIME porque he leído que usarlos es una mejor práctica que simplemente verificar las extensiones de archivo.
palbakulich
@palhmbs - Has leído correctamente. Siempre debe verificar el tipo MIME de los archivos cargados.
Christian
1
Cualquiera de los módulos anteriores podría integrarse con MimeDetect y manejarlo por usted.
tim.plunkett
Si está dispuesto a extender la validación de los clientes para utilizar mimedetect, publique el código en algún lugar y permítanos agregar la función para uso público general.
Capi Etheriel
5

Hemos tenido excelente suerte con Plupload . Se dobla hacia atrás para lograr la compatibilidad entre navegadores, utilizando Silverlight, Flash, HTML5 y recurriendo a los clásicos widgets HTML4 'seleccionar archivo' dependiendo de las capacidades del navegador.

El módulo de integración de Drupal es un poco tosco, pero lo hemos utilizado con éxito en varios proyectos grandes para llenar campos de imagen. En Drupal 7, creo que han extraído la mayor parte de la interfaz de usuario y la han convertido en un módulo API puro que puede ser utilizado por herramientas como Media simplemente para manejar el trabajo de carga. Si desea hacer algo particularmente funky, probablemente tendrá que escribir un poco de código personalizado para controlar dónde se muestra el widget de carga, pero es muy sólido.

Hemos logrado vincular sus eventos internos para manejar un poco de postprocesamiento, y la verificación de errores de validación de MIMEtypes / retroceso probablemente podría hacerse sin demasiados ajustes.

Eaton
fuente
1
¿Alguna vez usó la versión D6 de Plupload?
doublejosh
@Eathon ¿Tiene alguna idea sobre la carga automática en el módulo plupload? Tengo una idea de la discusión drupal.org/node/1804382#comment-7810763 . También hay una solución stackoverflow.com/questions/8137229/… , pero no sé cómo integrarme con drupal desde API
mohit_rocks
4

Aquí está mi wiki de comparación en el grupo Similar Module Review. http://groups.drupal.org/node/155764

Volcar el contenido aquí como está ahora ...

Aurigma Mass Uploader para CCK (6.x-2.0) El módulo Aurigma Uploader for Imagefield integra el comercial Aurigma Image Uploader con Drupal. Se cargan varias imágenes en un solo lote en un campo de imágenes múltiples.

Image FUpload (6.x-3.0-rc2) Image FUpload (Multiupload), que es una adición a la imagen y al módulo de campo de imagen de CCK, brinda la capacidad a cada usuario que tiene permitido cargar imágenes mediante el uso del módulo de imagen o el módulo de campo de imagen, para cargar múltiples imágenes con un simple clic. Todas las imágenes seleccionadas se cargan a través de un módulo flash (swfupload) y se procesan automáticamente.

Integración Plupload (6.x-1.x-dev, 7.x-1.0-beta3) Proporciona integración entre el widget Plupload para cargar múltiples archivos y Drupal. Plupload es una herramienta de carga de múltiples archivos con licencia GPL que puede presentar widgets en Flash, Gears, HTML 5, Silverlight, BrowserPlus y HTML4 dependiendo de las capacidades de la computadora cliente.

SWFUpload (6.x-2.0-beta8) El módulo SWFUpload para Drupal proporciona un widget para el campo de archivos de CCK y utiliza la biblioteca SWFUpload para permitir la carga de múltiples archivos simultáneamente.

jUpload para Imagefield (6.x-1.x-dev) ¿Alguna vez has deseado poder subir un grupo de imágenes a la vez a un campo de imagen? El módulo jUpload for Imagefield (jifupload) integra el applet JUpload Java con el módulo ImageField para CCK. Se cargan varias imágenes en un solo lote en un conjunto de campos de imagen para múltiples valores.

Enfoque diferente, mismo resultado ...

Soporte zip ImageField (6.x-1.0-beta2) Este es un módulo auxiliar para ImageField. Al cargar múltiples imágenes para campos de imágenes con múltiples valores, este módulo agrega la capacidad de cargar múltiples imágenes en archivos zip en lugar de individualmente.

Imagefield Import (5.x-1.5, 6.x-1.10) Imagefield Import permite a los usuarios con los permisos adecuados importar una gran cantidad de imágenes en un tipo de contenido CCK que contiene un campo de archivo o un campo de imagen. El módulo puede tomar títulos y descripciones usando EXIF ​​o IPTC. Nota: Para usar este módulo, debe poder cargar imágenes a su servidor a través de FTP, SCP u otros métodos.

doublejosh
fuente
2

Otro para las imágenes que no se admite muy bien pero que funciona es el soporte zip ImageField

mikeytown2
fuente
ImageField Zip ha vuelto a nacer, ahora es mucho mejor
mikeytown2
2

Si puede colocar estos archivos en un archivo zip y desea / tiene que usar el módulo de carga principal, puede probar la Carga múltiple sola (Drupal 6.x).

chirale
fuente
0

HTML5 Cargar http://drupal.org/sandbox/z7/1348240

Estos módulos deben considerarse una solución simplificada para la carga por lotes de imágenes (y otros archivos) para Drupal 7 en un navegador moderno (compatible con HTML5), nada más.

Todavía no lo intenté, pero el código es claro y compacto.

gagarina
fuente