IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Input type file & type MIME [HTML 5]


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut Input type file & type MIME
    Bonjours les HTML,
    Je désirerai limiter les formats choisisables dans une balise input de type file par l'attribut accept qui prend en paramètre les valeurs MIME des fichiers voulus et j'ai aboutis a une notation comme suit qui ne limite rien du tout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <!DOCTYPE html>
    <html lang='fr'>
    <head>
    <title>MIME</title>
    <meta charset='utf-8'>
    </head>
    <body>
    <form enctype='multipart/form-data' method='POST'>
    <input type='file' accept='image/gif image/png' maxlength='136579'><!-- ce sont les valeurs de types MIME de wikipedia  séparer par un espace comme me la répéter mon validateur -->
    <input type='submit' value='submit'>
    </form>
    </body>
    </html>
    Et le validateur ronchonne que l'attribut maxlength ,n'est pas accepter ici pour définir une taille de fichier maximale, bon il est vrai avant d'en arriver avec cette syntaxe j'ai bien ouvert une trentaine d'onglets avec mon validateur puis fait des recherches ici:
    http://fr.wikipedia.org/wiki/Type_MIME
    Si quelqu'un a réussi le tour de force de forcer a ne faire apparaitre que les formats voulus dans la fenetre de choix d'upload merci de bien vouloir refiler le tour de magie.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    voici ce que dit la doc (voir aussi l'aide du validateur w3c) :
    <input type="file" name="pic" id="pic" accept="image/gif, image/jpeg" />
    Attributs séparés par une virgule.
    Tip: Avoid using this attribute. File uploads should be validated on the server.
    Note: The accept attribute is not properly supported by any of the major browsers.
    En clair (et pour les non-anglophones), tant que les navigateurs ne le supportent pas, il est préférable d'éviter d'utiliser cet attribut, et de faire la validation sur le serveur.
    Dernière modification par Invité ; 06/09/2011 à 08h32.

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Ce n'est possible qu'en Flash.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re.
    Tu peux tester l'extension en JavaScript (avant envoi du formulaire) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	<script type="text/javascript">
                    /* UPLOAD : verification EXTENSION */
                    function testExtension(valeur, extensionsok) {
                            var extensionsok; // extensions acceptées
                            var valeur = valeur.toLowerCase(); // en minuscule
                            var chainearray = valeur.split('.');
                            var chaineext = chainearray[chainearray.length-1]; // extension du fichier
                            if(extensionsok.indexOf(chaineext)==-1) { // extension PAS ok
                                    alert('Erreur : ce fichier n\'est pas valide !\n\nExtensions acceptées : ' + extensionsok);
                            }
                    };
            </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form enctype="multipart/form-data" method="POST">
    	<input type="file" accept="image/gif, image/png" onchange="testExtension(this.value,'gif,jpg,jpeg,png');">
    	<input type="submit" value="submit">
    </form>
    ET (car js peut être désactivé) TOUJOURS TESTER APRES envoi (en PHP ou ...)

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par jreaux62
    Tu peux tester l'extension en JavaScript (avant envoi du formulaire)
    Certes, maintenant, si on demande de mettre un fichier correspondant à une image, il y a fort à parier que l'utilisateur qui ne met pas une image le fait à dessein et aura prit soin au préalable de désactiver JavaScript.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Bovino Voir le message
    ... l'utilisateur qui ne met pas une image le fait à dessein ...
    Pas forcément. 99% des gens sont relativement honnêtes :
    - on peut être distrait ou maladroit (et se tromper bêtement de fichier),
    - on peut aussi vouloir télécharger un autre format d'image que ceux acceptés.(l'extension des fichiers est parfois masquée sur le PC)
    - ...

    C'est le 1% restant qui pose problème...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSP]<input type="file">
    Par phoebe dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 16/07/2012, 19h50
  2. Input de type File sans le champ ?
    Par DemonKN dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 11/02/2010, 13h59
  3. choix du type mime dans input de type file
    Par beyo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 04/01/2008, 18h43
  4. [<input type="file"/>]
    Par NikoBe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 27/04/2005, 09h17
  5. chemin d'un input de type file
    Par sbbn1 dans le forum ASP
    Réponses: 2
    Dernier message: 05/04/2004, 20h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo