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

JavaScript Discussion :

Prévisualisation image avant upload


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Prévisualisation image avant upload
    Bonjour,

    1) J'ai besoin d'insérer dans mon formulaire 5 input file avec prévisualisation de l'image avant l'upload. Je suis nul en javascript ...

    J'ai réussi à faire cela avec mon 1er champ input file.

    Je n'arrive pas à le faire sur mes 5 champs. Je pense qu'il doit y avoir une méthode plus simple que de copier 5 fois le script. Je n'arrive pas à faire la boucle en javascript ...

    Si quelqu'un peut m'aider, ce serait cool.

    Merci.

    Voici mon code :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <title>Prévisualisation image</title>
     
        <style>
     
          body {
              padding-top: 50px;
              text-align: center;
          }
     
          img {
              margin: 15px;
              vertical-align: middle;
          }
     
          #prev {
              margin-top: 30px;
          }
        </style>
     
      </head>
     
      <body>
     
     
        <div><input id="file" name="my_file" type="file" multiple /></div> 
        <div id="prev"></div><div>
          <input id="file2" name="my_file2" type="file" multiple /></div> 
        <div id="prev2"></div>
    <input id="file3" name="my_file3" type="file" multiple /></div> 
        <div id="prev3"></div>
    <input id="file4" name="my_file4" type="file" multiple /></div> 
        <div id="prev4"></div>
    <input id="file5" name="my_file5" type="file" multiple /></div> 
        <div id="prev5"></div>
     
        <script>
        (function() {
     
            function createThumbnail(file) {
     
                var reader = new FileReader();
     
                reader.addEventListener('load', function() {
     
                    var imgElement = document.createElement('img');
                    imgElement.style.maxWidth = '150px';
                    imgElement.style.maxHeight = '150px';
                    imgElement.src = this.result;
                    prev.appendChild(imgElement);
     
                }, false);
     
                reader.readAsDataURL(file);
     
            }
     
            var allowedTypes = ['png', 'jpg', 'jpeg', 'gif'],
                fileInput = document.querySelector('#file'),
                prev = document.querySelector('#prev');
     
            fileInput.addEventListener('change', function() {
     
                var files = this.files,
                    filesLen = files.length,
                    imgType;
     
                for (var i = 0 ; i < filesLen ; i++) {
     
                    imgType = files[i].name.split('.');
                    imgType = imgType[imgType.length - 1];
     
                    if(allowedTypes.indexOf(imgType) != -1) {
                        createThumbnail(files[i]);
                    }
     
                }
     
            }, false);
     
        })();
        </script>
     
      </body>
    </html>

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut


    Comment voir une image avant de la télécharger ?

    C'est de la science-fiction !

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Vu qu'avant upload l'image est locale, et que pour des raisons de sécurités javascript a des accès limités au local...

    Il existe cependant d'horribles bidouilles sur la base de
    et
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.URL.createObjectURL()
    Un petit exemple trouvé sur codepen https://codepen.io/mobifreaks/pen/LIbca


    Il me semble également avoir croisé des solutions basées sur un canvas

    avec toutes les limitations de compatibilités avec les différents navigateurs...

    Mais le meilleure des solutions est encore de se poser la question ergonomique de la nécessité de la prévisualisation ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Il y aussi cette solution d'upload complète et prête à l'emploi qui intègre cette fonctionnalité (et beaucoup d'autres).

Discussions similaires

  1. Prévisualisation image avant upload
    Par andaman dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/08/2013, 14h08
  2. [AJAX] afficher d'un aperçu d'image avant upload
    Par aityahia dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 26/05/2008, 12h55
  3. diminuer images avant upload.
    Par Poulain dans le forum ASP.NET
    Réponses: 12
    Dernier message: 29/10/2007, 10h57
  4. prévisualiser une image avant upload
    Par johan_b dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/01/2007, 20h42
  5. Preview d'une image avant upload
    Par nabbo dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 21/12/2005, 01h02

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