Comment imposer au navigateur les extensions de fichiers .. [.JS HTML] - HTML/CSS - Programmation
Marsh Posté le 05-09-2006 à 14:06:48
c'est ce qu'il me semblait aussi.
Mais une personne collègue ici m'a dit que cela était simple sans me donner la solution bien sur .
Mais ça ne m'étonne pas qu'on ne puisse pas prendre la main sur le navigateur.
Marsh Posté le 05-09-2006 à 14:29:57
Si on peut... Maintenant c'est pas dit que les navigateurs le respecte.
cf. recommandation html 4 : Elément form
Y'a un attribut accept :
Citation : This attribute specifies a comma-separated list of content types that a server processing this form will handle correctly. User agents may use this information to filter out non-conforming files when prompting a user to select files to be sent to the server (cf. the INPUT element when type="file" ). |
Donc normalement si tu fais un truc du style :
<form action="pouet.php" method="post" enctype="multipart/form-data" accept="application/msword, application/vnd.ms-excel"> |
Il ne devrait accepter que les fichiers Word et Excel... Bon maintenant niveau support des navigateurs IE ne le gère pas je crois bien...
Marsh Posté le 05-09-2006 à 14:30:53
Maintenant tu peux toujours tester la propriété value de l'input en Javascript, mais bof bof
Marsh Posté le 05-09-2006 à 14:33:25
surtout ça va dans l'input file et pas dans le form
Marsh Posté le 05-09-2006 à 14:34:27
En théorie (http://www.w3.org/TR/html4/interact/forms.html#adef-accept), en mettant une liste de type MIME dans l'attribut accept de l'input, le navigateur devrait pouvoir filtrer.
Mais en pratique apparemment aucun navigateur ne le fait.
EDIT : overgrilled
Marsh Posté le 05-09-2006 à 15:32:47
FlorentG a écrit : Si on peut... Maintenant c'est pas dit que les navigateurs le respecte.
|
Ca n'a de toute façon aucune importance dans la mesure où il est trivial de bypasser ce genre de trucs (ne serait-ce qu'en uploadant manuellement les fichiers avec un script ou autres).
Donc au final, le javascript est totalement inutile, et le seul intérêt de ce truc est de faciliter le travail de la personne choisissant le fichier (puisqu'elle ne voit pas les fichiers 'parasites')
Marsh Posté le 05-09-2006 à 15:41:53
masklinn a écrit : Ca n'a de toute façon aucune importance dans la mesure où il est trivial de bypasser ce genre de trucs (ne serait-ce qu'en uploadant manuellement les fichiers avec un script ou autres). |
En effet l'objectif est juste la pour faciliter la vie de l'utilisateur, comme bcp de programmes d'ailleurs on fit en sorte que ce soit simple est instinctif, la si le mec pense pouvoir mettre n'importe quoi et qu'il rale ensuite pour dire que c'est l'appli qui ne marche pas .
Le JS j'aimerai éviter a moins qu'on me donne la soluce, je trouve ca vraiment tordu a developper, et d'un ennui , mais bon .
En tous cas je vais tester ce accept .
Merci .
Marsh Posté le 05-09-2006 à 15:48:47
Clarkent a écrit : Le JS j'aimerai éviter a moins qu'on me donne la soluce, je trouve ca vraiment tordu a developper, et d'un ennui , mais bon . |
Ben c'est surtout que le JS ne filtre pas l'entrée, le message d'erreur n'arrive que quand l'utilisateur a choisi son fichier, donc s'naze
Marsh Posté le 05-09-2006 à 16:02:55
masklinn a écrit : Ca n'a de toute façon aucune importance dans la mesure où il est trivial de bypasser ce genre de trucs (ne serait-ce qu'en uploadant manuellement les fichiers avec un script ou autres). |
Evidemment C'est juste que c'est une fonctionnalité bien marrante qui pourrait être utile pour éviter que l'utilisateur de base ne fasse n'importe quoi. Après faut pas oublier la validation server-side
Marsh Posté le 05-09-2006 à 12:45:54
Comment indiquer au navigateur que l'on souhaite pouvoir selectionner qu'un certains type d'extension de fichier, exemple du bouton parcourir et je souhaite voir dans la boite de dialogue l'extension selectionnée qui est le .VSC .
---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".