j'ai utilisé <input type= "file" name="Upload" >
Maintenant, je voudrais limiter cela en acceptant uniquement les fichiers .pdf et .xls.
Lorsque je clique sur le bouton Soumettre, cela doit valider.
Et lorsque je clique sur les fichiers (PDF / XLS) sur la page Web, ils devraient s'ouvrir automatiquement.
Quelqu'un pourrait-il donner quelques exemples à ce sujet?
vous pouvez utiliser ceci:
HTML
support uniquement. PDF et. Fichiers XLS
la source
Malheureusement, il n'y a pas de moyen garanti de le faire au moment de la sélection.
Certains navigateurs prennent en charge l'
accept
attribut pour lesinput
balises. C'est un bon début, mais on ne peut pas s'y fier complètement.Vous pouvez utiliser a
cfinput
et exécuter une validation pour vérifier l' extension de fichier lors de la soumission, mais pas le type mime. C'est mieux, mais toujours pas infaillible. Les fichiers sur OSX n'ont souvent aucune extension de fichier ou les utilisateurs peuvent malicieusement étiqueter les types de fichiers.ColdFusion
cffile
peut vérifier le type mime en utilisant lacontentType
propriété du résultat (cffile.contentType
), mais cela ne peut être fait qu'après le téléchargement. C'est votre meilleur pari, mais ce n'est toujours pas sûr à 100% car les types mime peuvent toujours être erronés.la source
accept
attribut sur lainput
balise peut être ajouté mais n'est pas efficace à 100%.Vous pouvez utiliser JavaScript. Tenez compte du fait que le gros problème avec JavaScript est de réinitialiser le fichier d'entrée. Eh bien, cela se limite uniquement au JPG (pour PDF, vous devrez changer le type de mime et le nombre magique ):
Tenez compte du fait que cela a été testé sur les dernières versions de Firefox et Chrome, et sur IExplore 10.
Pour une liste complète des types de mime, consultez Wikipedia .
Pour une liste complète des nombres magiques, consultez Wikipedia .
la source
Je filtrerais les fichiers côté serveur, car il existe des outils, comme les Live HTTP Headers sur Firefox, qui permettraient de télécharger n'importe quel fichier, y compris un shell. Les gens pourraient pirater votre site. Faites-le site serveur, pour être sûr.
la source
Bien que cet exemple particulier concerne un téléchargement de fichiers multiples, il donne les informations générales dont on a besoin:
https://developer.mozilla.org/en-US/docs/DOM/File.type
Pour ce qui est d'agir sur un fichier sur / download / ce n'est pas une question Javascript - mais plutôt une configuration de serveur. Si un utilisateur n'a pas installé quelque chose pour ouvrir les fichiers PDF ou XLS, son seul choix sera de les télécharger.
la source
Si vous souhaitez que le contrôle de téléchargement de fichiers limite les types de fichiers que l'utilisateur peut télécharger en cliquant sur un bouton, c'est la manière.
Vous pouvez ensuite appeler la fonction à partir d'un événement comme le onClick du bouton ci-dessus, qui ressemble à:
Vous pouvez changer cela en:
PDF
etXLS
Vous pouvez le voir implémenté ici: Démo
la source
accept
attribut, cette méthode ne réduit pas le contenu du dossier aux types de fichiers sélectionnés lors de la sélection d'un fichier sur l'ordinateur local.