Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jair Humberto

filtros para o input file

Recommended Posts

Olá pessoal,

 

alguém sabe como faço para filtrar os arquivos que devem ser selecionados pelo input type="file" de forma que na tela

apareça os arquivos apenas das extensões permitidas?

 

Obrigado desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com HTML/CSS e Javascript não é possivel, pois essas linguagens não tem tanto controle assim sobre o OS.

Tente fazer um flash, pois com AS é mais 'provavel' que você consiga, já que é assim que os uploaders multiplos fazem. (veja swfupload)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que deve haver uma maneira no html, como um valor de atributo.

Por exemplo, se eu quiser usar o campo input type file para fazer upload de muitas imagens

ao mesmo tempo é possível usando o atributo multiple e valor multiple,

 

ex.:

<input type="file" name="upload[]" multiple="multiple" />

Da mesma forma deve haver um atributo para limitar isso. Já vi isso em um site antes mas não lembro onde.

Sei que existe um valor chamado accept não sei se esse atributo é pra isso, pois usei e não funcionou.

alguns sites diziam pra usar accept="mime-type", mas creio que não é pra o que eu quero.

 

Bom, vou pesquisar mais sobre isso. Estou impossibilitado de usar flash de qualquer forma. :) obrigado mesmo assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em que navegador você testou ? aqui no meu Firefox, esse atributo: 'multiple' não foi aceito, e só me permitiu selecionar um unico arquivo.

 

oque você viu, deve ser algo como o autocomplete="off" que 'não existe', mas alguns browsers implementam.

Das especificações do HTML eu não me lembro de ter visto nada do tipo, e como já vi 'muitos tentando' isso, te disse que não é possível, pois eu nunca vi ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Jair,

 

Nunca vi nada parecido com isso utilizando html...

mas você pode utilizar Jquery pra fazer essa verificação...

tem ótimos tutoriais a respeito na própria documentação do jquery...

uma que achei em português é esse...

 

http://www.gladsonroberto.com.br/validar-extensao-de-arquivo-jquery/

 

É um pouco diferente do que você postou... pois nele não aparecerá na tela apenas os arquivos de tal tipo...

mas sim só aceitará arquivos dos tipos que você decide... Isso ajuda?

 

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

William Bruno,

 

aqui funcionou no firefox 3.6 e safari

queria ter testado no opera mas não tenho instalado aqui.

No Ie6 infelizmente não funcionou, como não tenho o 7 ou o 8, não tenho

como testar.

 

se funciona em um e não funciona em outro não adianta, mas aqui está o codigo, você não errou nada?

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Multiple Upload</title>
    </head>
    <body>
        <form method="post" enctype="multipart/form-data">
            <input type="file" name="upload[]" multiple="multiple" />
        </form>
    </body>
</html>

Nino, é muito interessante essa validação, mas no meu caso acho que não vai adiantar, porque o meu problema é o usuario :(

como o sistema é grande e cheio de JS é melhor usar nesse caso o PHP mesmo para fazer a validação, aproveitando que já tenho

diversas rotinas pra validação prontas,

 

eu queria saber como fazer isso porque "o que o olho não vê a barriga não sente né?" hehehe, evitaria diversos problemas pra gente

aqui :/

 

de qualquer forma obrigado a vocês.

 

Abraços. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acabei de copiar o teu script, colar num arquivo vazio, e rodar pelo Apache.

 

FireFox 3.5.8 não funciona.

Nem tentando selecionar com o Ctrl, nem com o Shift, nem tentando criar uma área de seleção clicando num vazio e arrastando sobre os arquivos.

 

Chrome 3.0 funciona.

 

^_^ enfim cara, não pode mesmo usar Flash? ainda creio ser a única forma 'garantida' de fazer isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá William,

 

vai acabar não funcionando numa pancada de navegadores então, se no ff 3.5.8 não funciona. :(

mas ... como usar o flash então? é muito complicado?

e vai mesmo mostrar para o usuário só os tipos de arquivo que quero que ele veja?

 

 

e... :mellow: ...você teria algum link de algum material sobre isso? :)

 

Obrigado denovo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu nem manjo de flash.. pra poder te dizer 'como fazer'.. mas dá uma olhada:

http://demo.swfupload.org/v220/applicationdemo/index.php

 

Aqui eles fazem exatamente isso, e só mostra as extensões de arquivos que você liberar configurando um pequeno JS de init dele.

Talvez no fórum de Flash, a galera possa te orientar como fazer sem precisar necessariamente estudar ou usar esse plugin.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado! :)

 

Eu entendo um pouco de flash, mas vou ter que buscar ajuda no forum sim.

Acho ruim é conseguir no flash e no javascript e html não

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado! :)

 

Eu entendo um pouco de flash, mas vou ter que buscar ajuda no forum sim.

Acho ruim é conseguir no flash e no javascript e html não

 

 

A janela de seleção de arquivos montada pelo AS3 é DO AS3, isso a torna multi-plataforma.

 

Javascript, além de variar de SO ainda varia de browser

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.