Gostaria que o jQuery limite um campo de upload de arquivo para apenas jpg / jpeg, png e gif. Já estou fazendo verificação de back-end PHP
. Já estou executando meu botão de envio por meio de uma JavaScript
função, então só preciso saber como verificar os tipos de arquivo antes de enviar ou alertar.
javascript
jquery
file-upload
file-type
Anthony
fonte
fonte
$("#my_upload_form").bind("submit", function() { // above check });
$('#file_field').change(function(){// above check});
$("#my_upload_form").bind("submit", function() { // above check });
agora deve ser vinculado usando$("#my_upload_form").submit(function() { // above check });
api.jquery.com/submit . você também pode impedir que o formulário submeter usando$("#my_upload_form").submit(function(e) { // above check e.preventDefault(); });
".jpg"
por exemplo, ao arquivo do MS Word, o FileUpload aceitaria esse arquivo como imagem. Eu acho que não está certo.Nenhum plug-in é necessário apenas para esta tarefa. Cobbled isso juntos de alguns outros scripts:
O truque aqui é definir o botão de upload como desativado, a menos e até que um tipo de arquivo válido seja selecionado.
fonte
Você pode usar o plug-in de validação para jQuery: http://docs.jquery.com/Plugins/Validation
Acontece que existe uma regra accept () que faz exatamente o que você precisa: http://docs.jquery.com/Plugins/Validation/Methods/accept#extension
Observe que o controle da extensão do arquivo não é à prova de balas, pois não está relacionado ao tipo de mimet do arquivo. Assim, você pode ter um .png que é um documento do word e um .doc que é uma imagem png perfeitamente válida. Portanto, não se esqueça de fazer mais controles do lado do servidor;)
fonte
Para o front-end, é bastante conveniente colocar ' accept o atributo ' ' se você estiver usando um campo de arquivo.
Exemplo:
Algumas notas importantes:
fonte
Não deseja verificar mais o MIME do que qualquer extensão que o usuário esteja mentindo? Nesse caso, é menos de uma linha:
fonte
para o meu caso, usei os seguintes códigos:
fonte
Eu tento escrever um exemplo de código de trabalho, testo e tudo funciona.
Hare é código:
HTML:
Javascript:
fonte
Esse código funciona bem, mas o único problema é que, se o formato do arquivo for diferente das opções especificadas, ele exibirá uma mensagem de alerta, mas exibirá o nome do arquivo enquanto o deveria negligenciar.
fonte
Este exemplo permite carregar apenas imagem PNG.
HTML
JS
fonte
fonte
Se você está lidando com vários uploads de arquivos (html 5), peguei o comentário sugerido principal e modifiquei-o um pouco:
fonte
fonte
fonte
Aqui está um código simples para validação de javascript e, após a validação, ele limpará o arquivo de entrada.
fonte