Contrôler le type de fichier par javascript
le 03/08/2006 à 22:23
sparh
Salut,
je reviens à la charge,
j'ai donc un formulaire avec des champs de type file.
Et j'aimerai trouver une fonction javascript qui vérifie l'extension du fichier.
J'ai cherché un peu, j'ai trouvé ce type de fonction en php (notemment sur ce site) mais j'arrive pas à la transcrire en javascript?
Voilà, j'ai fait un nouveau post car sur google je n'ai rien trouvé!
Merci d'avance
Pour des raisons de sécurité, tu ne peux pas. Par contre, tu peux utiliser l'attribut
accept.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Salut,
Pourquoi ne pas utiliser une fonction comme split() pour découper le nom du fichier et récupérer juste l'extension?
Après une petit switch suivant l'extension pour avoir le type de fichier.ça demande de lister un certain nombre de cas si tu geres bcp de types de fichiers, mais ça reste faisable.
le 04/08/2006 à 12:19
sparh
merci, de vos réponses:
Pour l'attribut accept, je l'ai déja mis mais il n'est pas accepté par touts les navigateurs.
Pour split(), l'idée me parait bonne et je vai chercher par là mais vu mon niveau de java une petite aide ne serait pas malvenue ;)
En fait j'ai merai avoir une fonction de base qui n'accepte par ex que les .gif (par la suitre je l'utiliserai dans un autre formulaire pour n'accepter que les .swf en remplacant .gif par .swf ou autre...)
split est un très mauvaise idée, puisque de toute façons, l'extension ne renseigne en rien du tout sur le type de fichier.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
le 07/08/2006 à 21:54
Bzh
Roooo !
Si ce n'est que pour faciliter les formulaires et surtout si c'est correctement REVERIFIER coté serveur, split() est utilisable !!!
De toute façon, pour la sécuriter TOUJOURS verifier coté serveur...
Le javascript n'est là que pour le confort et ne doit pas être INDISPENSABLE !!!
Voili...
(Bzh) Ben en l'occurence, tu réduit mon confonrt. Car par un apriori de programmeur, tu décides qu'un fichier a une extention et que ce dernier renseigne sur la nature d'y-celui.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
le 07/08/2006 à 23:04
Bzh
Heu !!!
Renome une image jpg en ogg par exemple ! Et doucle clique dessu !!
Alors, qu'est-ce qui se passe ?
Ben je suis d'accord avec toi LupusMic mais je rappelle la question:
"Et j'aimerai trouver une fonction javascript qui vérifie l'extension du fichier."
...
Et pour vérifier l'extension d'un fichier ben tu vérifies son extension pas son type. Apèrs tout dépend de l'utilisation que tu en fais. Et c'est vrai qu'un nom de fichier ne renseigne pas forcément sur son type. Mais bon, sinon tu ouvres ton fichier en binaire, tu récupère le header de ton fichier, mais c'est peut être un peu se prendre la tête... enfin ça dépend de l'utilisation..
(Bzh) Sous BeOS, ce que tu fais n'a aucun impact sur le comportement du système, car à l'accès du fichier le Tracker utilises mime magic pour déterminer le type de contenu du fichier. Et sous les environnements KDE et Gnome, ça vient tout doucement. Bien sûr, je ne parlerais pas des bureaux
antiques tel que celui de MS Win.
(Patochewie) Pour déterminer le type de contenu, c'est ce que fait Apache avec l'extention mime magic, pareil pour PHP. Ils ouvrent le fichier et regardent les premiers octets. Voir la commande
file.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.