[.JS HTML] Comment imposer au navigateur les extensions de fichiers ..

Comment imposer au navigateur les extensions de fichiers .. [.JS HTML] - HTML/CSS - Programmation

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".
Reply

Marsh Posté le 05-09-2006 à 12:45:54   

Reply

Marsh Posté le 05-09-2006 à 12:50:11    

peut pas ...

Reply

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 :D.
 
Mais ça ne m'étonne pas qu'on ne puisse pas prendre la main sur le navigateur.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

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">
  <div>
    <label for="file">Fichier Word ou Excel</label>
    <input type="file" name="file" id="file" />
    <input type="submit" value="ok" />
  </div>
</form>


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...

Reply

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

Reply

Marsh Posté le 05-09-2006 à 14:33:25    

surtout ça va dans l'input file et pas dans le form


Message édité par anapajari le 05-09-2006 à 14:33:36
Reply

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


Message édité par Bidem le 05-09-2006 à 14:35:26
Reply

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.  
 
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">
  <div>
    <label for="file">Fichier Word ou Excel</label>
    <input type="file" name="file" id="file" />
    <input type="submit" value="ok" />
  </div>
</form>


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...


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')


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

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).
 
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')


 
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 :D.
 
Le JS j'aimerai éviter a moins qu'on me donne la soluce, je trouve ca vraiment tordu a developper, et d'un ennui :D, mais bon :).
 
En tous cas je vais tester ce accept :D.
Merci ;).


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

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 :D, 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


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 05-09-2006 à 15:48:47   

Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed