Je voudrais que jQuery limite un champ de téléchargement de fichier à seulement jpg / jpeg, png et gif. Je suis déjà en train de vérifier le backend PHP
. J'exécute déjà mon bouton de soumission via une JavaScript
fonction, donc j'ai vraiment besoin de savoir comment vérifier les types de fichiers avant de soumettre ou d'alerter.
javascript
jquery
file-upload
file-type
Anthony
la source
la source
$("#my_upload_form").bind("submit", function() { // above check });
$('#file_field').change(function(){// above check});
$("#my_upload_form").bind("submit", function() { // above check });
devrait maintenant être lié à l'aide de$("#my_upload_form").submit(function() { // above check });
api.jquery.com/submit . vous pouvez également empêcher la soumission du formulaire en utilisant$("#my_upload_form").submit(function(e) { // above check e.preventDefault(); });
".jpg"
par exemple au fichier MS Word, FileUpload accepterait ce fichier comme image. Je pense que ce n'est pas juste.Aucun plugin nécessaire uniquement pour cette tâche. Combiné cela à partir de quelques autres scripts:
L'astuce ici est de définir le bouton de téléchargement sur désactivé à moins et jusqu'à ce qu'un type de fichier valide soit sélectionné.
la source
Vous pouvez utiliser le plugin de validation pour jQuery: http://docs.jquery.com/Plugins/Validation
Il se trouve qu'il a une règle accept () qui fait exactement ce dont vous avez besoin: http://docs.jquery.com/Plugins/Validation/Methods/accept#extension
Notez que le contrôle de l'extension de fichier n'est pas à l'épreuve des balles car il n'est en aucun cas lié au type MIME du fichier. Vous pourriez donc avoir un .png qui est un document Word et un .doc qui est une image png parfaitement valide. N'oubliez donc pas de faire plus de contrôles côté serveur;)
la source
Pour le front-end, il est assez pratique de mettre l'attribut ' accept ' si vous utilisez un champ de fichier.
Exemple:
Quelques remarques importantes:
la source
Vous ne voulez pas vérifier plutôt sur MIME que sur n'importe quelle extension que l'utilisateur ment? Si c'est le cas, c'est moins d'une ligne:
la source
pour mon cas, j'ai utilisé les codes suivants:
la source
J'essaye d'écrire un exemple de code fonctionnel, je le teste et tout fonctionne.
Le lièvre est le code:
HTML:
Javascript:
la source
Ce code fonctionne correctement, mais le seul problème est que si le format de fichier est différent des options spécifiées, il affiche un message d'alerte mais il affiche le nom du fichier alors qu'il devrait le négliger.
la source
Cet exemple permet de télécharger uniquement une image PNG.
HTML
JS
la source
la source
Si vous avez affaire à plusieurs téléchargements de fichiers (html 5), j'ai pris le commentaire suggéré en haut et l'ai légèrement modifié:
la source
la source
la source
Voici un code simple pour la validation javascript, et après avoir validé, il nettoiera le fichier d'entrée.
la source