J'ai besoin de télécharger uniquement le fichier image via la <input type="file">
balise.
À l'heure actuelle, il accepte tous les types de fichiers. Mais, je veux le limiter à des extensions de fichier image spécifiques qui incluent .jpg
, .gif
etc.
Comment puis-je obtenir cette fonctionnalité?
Réponses:
Utilisez l' attribut accept de la balise d'entrée. Donc, pour n'accepter que les PNG, JPEG et GIF, vous pouvez utiliser le code suivant:
Ou simplement:
Notez que cela ne fournit qu'un indice au navigateur sur les types de fichiers à afficher pour l'utilisateur, mais cela peut être facilement contourné, vous devez donc toujours valider le fichier téléchargé sur le serveur.
Cela devrait fonctionner dans IE 10+, Chrome, Firefox, Safari 6+, Opera 15+, mais la prise en charge est très sommaire sur les mobiles (à partir de 2015) et selon certains rapports, cela peut en fait empêcher certains navigateurs mobiles de télécharger quoi que ce soit, donc assurez-vous de bien tester vos plateformes cibles.
Pour une prise en charge détaillée du navigateur, voir http://caniuse.com/#feat=input-file-accept
la source
accept="file/csv, file/xls"
est-il valide ??image/x-png
? Selon cette liste, c'est justeimage/png
. iana.org/assignments/media-types/media-types.xhtmlEn utilisant ceci:
fonctionne à la fois dans FF et Chrome.
la source
Utilisez-le comme ça
Ça a marché pour moi
https://jsfiddle.net/ermagrawal/5u4ftp3k/
la source
Étapes:
1. Ajoutez un attribut d'acceptation à la balise d'entrée
2. Validez avec javascript
3. Ajoutez une validation côté serveur pour vérifier si le contenu est vraiment un type de fichier attendu
Pour HTML et javascript:
Explication:
la source
Ceci peut être réalisé en
Mais ce n'est pas un bon moyen. vous devez coder côté serveur pour vérifier le fichier une image ou non.
Vérifiez si le fichier image est une image réelle ou une fausse image
Pour plus de référence, voir ici
http://www.w3schools.com/tags/att_input_accept.asp
http://www.w3schools.com/php/php_file_upload.asp
la source
vous pouvez utiliser l'
accept
attribut pour<input type="file">
lire cette documentation http://www.w3schools.com/tags/att_input_accept.aspla source
En utilisant type = "file" et accept = "image / *" (ou le format que vous voulez), permettez à l'utilisateur de choisir un fichier avec un format spécifique. Mais vous devez le vérifier à nouveau du côté client, car l'utilisateur peut sélectionner un autre type de fichiers. Cela fonctionne pour moi.
Et puis, dans votre script javascript
la source
const file: File = imageInput.files[0];
? De plus, l'attribution d'un identifiant à l'entrée ne se fait pas de manière conventionnelle.Si vous souhaitez télécharger plusieurs images à la fois, vous pouvez ajouter un
multiple
attribut à l'entrée.la source