quarta-feira, 23 de maio de 2001

Filtrando as extensões de arquivo no upload

Uma dúvida muito comum é como definir quais os tipos de arquivo que podem ser carregados no server. O código abaixo ilustra como fazer o filtro, permitindo apenas arquivos de extensão GIF, JPG e ZIP. Note que é necessário fazer a checagem novamente no servidor, assegurando que usuários que desabilitam o javascript não possam fazer uploads de extensões proibidas.


<script type="text/javascript">
 function ChecaExtensaoArquivo( formulario ){
   var extensoesOk = ",.gif,.jpg,.zip,";
   var extensao    = "," + formulario.arquivo.value.substr( formulario.arquivo.value.length - 4 ).toLowerCase() + ",";
   if( extensoesOk.indexOf( extensao ) == -1 ){
       alert( formulario.arquivo.value + "\nnão possui uma extensão válida" );
       return false;
     }
   return true;
 }
</script>


<form name="form" method="post" enctype="multipart/form-data" onsubmit="return ChecaExtensaoArquivo( this )">
 <input type="file" name="arquivo" />
 <input type="submit" />
</form>



Esta matéria foi postada originalmente no ASP4Developers por Rubens N. Farias (site), que na época era "pós-graduado em análise de sistemas orientados a objetos, MCP, MCSD, MCAD, MCSD.NET e consultor em TI, além de idealizador do projeto ASP4Developers. Desenvolve sistemas sob medida, focados na satisfação do usuário, com qualidade e custo realista.". Hoje, vai saber...

1 comentários:

Porantim disse...

[Enviado originalmente em 06/fev/2002 09:59:17]:

Legal a dica, mas não funciona. Os novos windows, por default, escondem as extensões de arquivos registrados. Quando preenchemos um input file, a extensão não vem e o script não funciona.