Como fazer upload de vários arquivos de uma só vez?

22

Precisamos fazer upload de vários arquivos de tipos diferentes. Existe um módulo que verificará tipos de mímica válidos e carregará apenas os arquivos válidos (com base nas configurações do site, por exemplo: png, doc, jpg, txt)?

Palbakulich
fonte

Respostas:

27

customerside_validation (drupal-6 e drupal-7) executa algumas verificações adicionais no lado do cliente, incluindo verificações nas extensões de arquivos carregadas (mas não nos tipos MIME). (E, como @ tim.plunkett mencionado nos comentários, mimedetect é útil para validação de tipo MIME do servidor, mas o arquivo deve ser carregado no servidor para que seja validado.)

Para carregar vários arquivos, considere o seguinte:

  • swfupload (drupal-6; Flash)
  • plupload (drupal-6 e drupal-7; Flash e várias outras tecnologias suportadas; novas / em desenvolvimento)

Para carregar várias imagens , considere adicionalmente estas:

  • image_fupload (drupal-6; usa swfupload acima)
  • jifupload (drupal-5 e drupal-6; grátis; usa o applet Java)
  • aurigma (drupal-6; assinatura de compra / serviço de software necessária)
smokris
fonte
2
Perguntei sobre tipos MIME porque li que usá-los é uma prática melhor do que apenas verificar extensões de arquivo.
palbakulich
@palhmbs - Você leu corretamente. Você deve sempre verificar o tipo de mímica dos arquivos enviados.
Christian
1
Qualquer um dos módulos acima pode se integrar ao MimeDetect e lidar com isso para você.
tim.plunkett
Se você deseja estender o customerside_validation para usar o mimedetect, publique o código em algum lugar e deixe-nos adicionar o recurso para uso público em geral.
Capi Etheriel
5

Tivemos uma excelente sorte com o Plupload . Ele se reverte para obter compatibilidade entre navegadores, usando o Silverlight, Flash, HTML5 e retornando aos widgets clássicos de 'selecionar arquivo' do HTML4, dependendo dos recursos do navegador.

O módulo de integração Drupal é um pouco difícil, mas o utilizamos com sucesso em vários projetos grandes para preencher os Campos de imagem. No Drupal 7, acredito que eles puxaram a maior parte da interface do usuário e a transformaram em um módulo de API puro que pode ser usado por ferramentas como a Mídia simplesmente para lidar com o trabalho de upload. Se você quiser fazer algo particularmente descolado, provavelmente precisará escrever um pouco de código personalizado para controlar onde o widget de upload é exibido, mas é muito sólido.

Conseguimos vincular seus eventos internos para lidar com um pouco de pós-processamento, e a verificação de erros de validação de MIMEtypes / retrocesso provavelmente poderia ser feita sem muito esforço.

Eaton
fonte
1
Já usou a versão D6 do Plupload?
doublejosh
@Eathon Você tem alguma idéia sobre o upload automático no módulo plupload. Eu tive uma idéia da discussão drupal.org/node/1804382#comment-7810763 . Há também uma solução stackoverflow.com/questions/8137229/... , mas eu não knwo como integrar com o Drupal a partir da API
mohit_rocks
4

Aqui está o meu wiki de comparação no grupo Similar Module Review. http://groups.drupal.org/node/155764

Despejando o conteúdo aqui como está agora ...

Aurigma Mass Uploader para CCK (6.x-2.0) O módulo Aurigma Uploader para Imagefield integra o Aurigma Image Uploader comercial ao Drupal. Várias imagens são carregadas em um único lote em um campo de imagem múltiplo.

O Image FUpload (6.x-3.0-rc2) O Image FUpload (Multiupload), que é uma adição ao módulo de imagem e campo de imagem do CCK, permite a todos os usuários que têm permissão para fazer upload de imagens usando o módulo de imagem ou módulo de campo de imagem, fazer upload de vários imagens com um simples clique. Todas as imagens selecionadas são carregadas por meio de um módulo flash (swfupload) e são processadas automaticamente.

Integração com o Plupload (6.x-1.x-dev, 7.x-1.0-beta3) Fornece integração entre o widget Plupload e o upload de vários arquivos e o Drupal. O Plupload é uma ferramenta de upload de vários arquivos licenciada pela GPL que pode apresentar widgets no Flash, Gears, HTML 5, Silverlight, BrowserPlus e HTML4, dependendo dos recursos do computador cliente.

SWFUpload (6.x-2.0-beta8) O módulo SWFUpload para Drupal fornece um widget para o Filefield da CCK e usa a biblioteca SWFUpload para permitir o upload simultâneo de vários arquivos.

jUpload for Imagefield (6.x-1.x-dev) Você já desejou poder enviar um grupo de imagens de uma vez para um campo de imagem? O módulo jUpload for Imagefield (jifupload) integra o miniaplicativo JUpload Java ao módulo ImageField for CCK. Várias imagens são carregadas em um único lote para um campo de imagem definido para vários valores.

Abordagem diferente, mesmo resultado ...

Suporte zip do ImageField (6.x-1.0-beta2) Este é um módulo auxiliar do ImageField. Ao fazer upload de várias imagens para campos de imagem com vários valores, este módulo adiciona a capacidade de fazer upload de várias imagens em arquivos zip em vez de individualmente.

Importação de campo de imagem (5.x-1.5, 6.x-1.10) A importação de campo de imagem permite que os usuários com as permissões adequadas importem um grande número de imagens para um tipo de conteúdo CCK que contém um campo de arquivo ou um campo de imagem. O módulo pode obter títulos e descrições usando EXIF ​​ou IPTC. Nota: Para usar este módulo, você deve poder fazer upload de imagens para o servidor via FTP, SCP ou outros métodos.

doublejosh
fonte
2

Outro para imagens que não é suportado muito bem, mas funciona, é o suporte a zip do ImageField

mikeytown2
fonte
ImageField Zip foi re-nascido é uma agradável muito agora
mikeytown2
2

Se você pode colocar esses arquivos em um zip e quiser / precisar usar o módulo principal de Upload, tente o Multiple Upload Alone (Drupal 6.x).

Chirale
fonte
0

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

Esses módulos devem ser considerados uma solução simplificada para o upload em lote de imagens (e outros arquivos) para o Drupal 7 em um navegador moderno (compatível com HTML5), nada mais.

Ainda não tentei, mas o código é claro e compacto.

gagarine
fonte