Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[HTML] Prise en charge attribut 'accept' ds formulaire

3 réponses
Avatar
Pascal
Bonjour,

La RFC-1867 pr=E9voit l'utilisation de l'attribut 'accept' pour indiquer =

quels types de fichiers peuvent =EAtre envoy=E9s avec un formulaire HTML.=

Le standard HTML 4.01 autorise cet emploi :
http://www.w3.org/TR/html401/interact/forms.html#adef-accept

Mais il semblerait qu'aucun client HTTP ne prenne en charge cet=20
attribut, que ce soit au niveau de la balise '<form>' en g=E9n=E9ral, ou =
de=20
la balise '<input type=3D"file">' en particulier.

Avez-vous des informations =E0 ce sujet ?
Je n'ai rien trouv=E9 dans la base de connaissance Gecko.

Cordialement,
Pascal

3 réponses

Avatar
SAM
Le 9/22/09 12:39 PM, Pascal a écrit :
Bonjour,

La RFC-1867 prévoit l'utilisation de l'attribut 'accept' pour indiquer
quels types de fichiers peuvent être envoyés avec un formulaire HTML.
Le standard HTML 4.01 autorise cet emploi :
http://www.w3.org/TR/html401/interact/forms.html#adef-accept



Ils me disent donc :
« This attribute specifies a comma-separated list of content types that
a server processing this form will handle correctly. »

Je comprends donc que c'est à destination des serveurs.

Comment ça fonctionne ?
Par exemple en PHP.

Mais il semblerait qu'aucun client HTTP ne prenne en charge cet
attribut, que ce soit au niveau de la balise '<form>' en général, ou de
la balise '<input type="file">' en particulier.

Avez-vous des informations à ce sujet ?



Ils nous disent :
« User agents may use this information to filter »
c a d que les navigateurs *"peuvent"*
de la à ce qu'il veuillent ...

Je n'ai rien trouvé dans la base de connaissance Gecko.



Déposer une réclamation ?
De ttes façon cet input file a touj posé pb et il se fait de + en +
verrouiller par les navigateurs.


voir : <http://www.w3schools.com/TAGS/att_input_accept.asp>

Avoid using this attribute.
========================== File uploads should be validated on the server.

Voilà, on sait tout sur le sujet.
Les 3 chiottes n'ont qu'à aller se rhabiller.

Qu'est-il prévu à ce sujet en HTML.5 ?

--
sm
Avatar
Pascal
SAM a écrit :
Ils me disent donc :
« This attribute specifies a comma-separated list of content types th at
a server processing this form will handle correctly. »

Je comprends donc que c'est à destination des serveurs.



Non, ils veulent dire que le filtrage préparatoire côté client
facilitera le traitement côté serveur.

Ils nous disent :
« User agents may use this information to filter »
c a d que les navigateurs *"peuvent"*
de la à ce qu'il veuillent ...



Apparemment ils ne veulent pas, et c'est bien dommage !

voir : <http://www.w3schools.com/TAGS/att_input_accept.asp>

Avoid using this attribute.
======================== ===
File uploads should be validated on the server.



Oui, je suis tombé là-dessus aussi, après avoir posté.

En fait, il est absolument nécessaire de sécuriser les envois de
fichiers côté serveur : contrôle de l'extension de fichier, du type de
contenu, choix restreint du lieu de stockage, règle de nommage des
fichiers, etc.

Mais, comme dans toute interactivité avec un formulaire HTML, il est
intéressant de préparer le travail côté client, ce que je fais
aujourd'hui en javascript, et que j'aurais aimé voir prendre en charge
de manière standardisé par les clients avec un simple attribut et une
boîte de dialogue spécialisée (ou, au minimum, un message d'erreur si le
fichier ne correspond pas à ceux attendus).

Qu'est-il prévu à ce sujet en HTML.5 ?



Ça ,je sais pas, mais je vais aller voir.

Cordialement,
Pascal
Avatar
Pierre Goiffon
Pascal wrote:
En fait, il est absolument nécessaire de sécuriser les envois de
fichiers côté serveur : contrôle de l'extension de fichier, du type de
contenu, choix restreint du lieu de stockage, règle de nommage des
fichiers, etc.



Oui. TOUJOURS contrôler côté serveur, c'est la règle !

Mais on ne peut pas tout contrôler non plus (dans les fichiers binaires,
les formats attendus n'ont pas toujours un entête si identifiable que
ça, dans les fichiers textes attention au codage...)

Mais, comme dans toute interactivité avec un formulaire HTML, il est
intéressant de préparer le travail côté client, ce que je fais
aujourd'hui en javascript, et que j'aurais aimé voir prendre en charge
de manière standardisé par les clients avec un simple attribut et une
boîte de dialogue spécialisée (ou, au minimum, un message d'erreur si le
fichier ne correspond pas à ceux attendus).



Oui, et on aurait d'autres besoin : indiquer l'emplacement par défaut,
le nb de fichiers possible à uploader en une fois, ...

Il existe pas mal de solutions... Principalement des "enrobages" à base
de Flash. Yahoo propose cela et c'est assez bien fait :
http://developer.yahoo.com/yui/uploader/
Mais il faut utiliser la YUI pour cela, c'est assez lourd. Il en existe
d'autres...

Qu'est-il prévu à ce sujet en HTML.5 ?



Ça ,je sais pas, mais je vais aller voir.



http://www.w3.org/TR/html5/forms.html#file-upload-state

Malheureusement pas encore assez ! Mais vous avez un attribut accept...
De là à ce que ça soit disponible sur 90% des navigateurs du Web...