Infelizmente, não há uma maneira garantida de fazer isso no momento da seleção.
Alguns navegadores oferecem suporte ao accept
atributo de input
tags. Este é um bom começo, mas não pode ser totalmente confiável.
<input type="file" name="pic" id="pic" accept="image/gif, image/jpeg" />
Você pode usar um cfinput
e executar uma validação para verificar a extensão do arquivo no envio, mas não o tipo MIME. Isso é melhor, mas ainda não é à prova de idiotas. Os arquivos no OSX geralmente não têm extensões de arquivo ou os usuários podem identificar os tipos de arquivo de forma mal-intencionada.
O ColdFusion cffile
pode verificar o tipo mime usando a contentType
propriedade do result ( cffile.contentType
), mas isso só pode ser feito após o upload. Esta é sua melhor aposta, mas ainda não é 100% segura, pois os tipos MIME podem estar errados.