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 d'une image sélectionnée sur disque dur


Sujet :

JavaScript

  1. #1
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut Prévisualisation d'une image sélectionnée sur disque dur
    Bonjour,

    Tout d'abord, je tiens à dire que je suis très novice en ce qui concerne le javascript

    J'essaie depuis ce matin de faire une prévisualisation d'image avant Upload.
    Pour ce faire, j'ai parcouru le forum, et éplucher divers site mais je n'arrive pas à cerner mon soucis.

    Voici le code en son entier :
    Code xhtml : 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
      <head>
      <title>Test</title>
     
      <script type='text/javascript'>
      function VoirImage() 
      {
        var imgSrc=document.getElementById('imagePortrait').value;
            document.getElementById('imagePortrait').src="file:///"+imgSrc;
      }
      </script>
      </head>
     
      <body>
        <table>
          <tr>
            <td><img id="imagePortrait" src="/photos/portrait_non_disponible.png" /></td>
            <td>
            <fieldset>
              <legend>Ajouter une image (facultatif)</legend>
              <!-- champs d'envoi de fichier, de type file -->
              <p><label for='photo'>Photo :</label><input id="photo" type="file" name="photo" onchange="VoirImage()"/></p>
            </fieldset>
            </td>
          </tr>
        </table>
      </body>
    </html>

    Donc le but, c'est qu'une fois que l'utilisateur à choisi une image, on la prévisualise sans pour autant l'uploader... Si le champ input file est vide, alors on laisse l'image par défaut que j'ai renseigné dans la balise.

    Quelqu'un peut-il m'expliquer mon erreur car j'avoue que là, j'ai un peu de mal à cerner le souci.

    Merci par avance
    Ero-Sennin

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    var imgSrc=document.getElementById("photo").value;
    erreur d'id?

  3. #3
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Alors la, je dis grand merci!
    C'est bon, je récupère bien l'image
    Il ne me reste plus qu'à redéfinir l'image.

    Petite question ...
    Sur Firefox, on ne peut faire ce genre de chose (c'est une sécurité d'après ce que j'ai lu). On ne peut pas faire autre chose, contourner ?

    Merci

  4. #4
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Citation Envoyé par ero-sennin Voir le message
    Sur Firefox, on ne peut faire ce genre de chose (c'est une sécurité d'après ce que j'ai lu).
    testé sous ff et ça marche...

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Qu'as tu testé ?
    Avec mon code et FF 2.0.0.16 ca ne fonctionne pas !

  6. #6
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Citation Envoyé par ero-sennin Voir le message
    Qu'as tu testé ?
    testé en local plus de sécurité

  7. #7
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Normalement, que ce soit FF ou n'importe quel navigateur, javascript ne permet pas de récupérer des informations hors domaine.
    Mais là, tu ne vas pas récupérer le fichier mais juste la source.
    L'image elle peut provenir de n'importe quel domaine, donc à priori ça devrait marcher.

    EDIT:
    En revanche, dans
    vérifie le chemin renvoyé qui n'est pas le même selon IE et FF je crois.
    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

  8. #8
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Citation Envoyé par Matthieu2000 Voir le message
    testé en local plus de sécurité
    Je test également en local et pourtant ...
    Le fichier se situe sur C:\, le nom étant moto.png
    Lorsque je récupère le contenu de la variable JavaScript, j'ai
    file:///C:/moto.png

    Sous IE, pas de soucis mais sous FireFox, il ne veut rien savoir (étrange car quand je copie colle le lien, il m'affiche l'image )

    Citation Envoyé par Bovino Voir le message
    Normalement, que ce soit FF ou n'importe quel navigateur, javascript ne permet pas de récupérer des informations hors domaine.
    Mais là, tu ne vas pas récupérer le fichier mais juste la source.
    L'image elle peut provenir de n'importe quel domaine, donc à priori ça devrait marcher.

    EDIT:
    En revanche, dans
    vérifie le chemin renvoyé qui n'est pas le même selon IE et FF je crois.
    Après test, IE et FF supporterai l'appel de comme décrite plus haut!

    Mystère hein! Et dire que ça marche chez Matthieu2000

  9. #9
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    J'ai eu également le même problème que toi.
    Si ma mémoire est bonne, je n'ai pas trouvé de solution.

    A tout hasard, essaye d'ajouter un paramètre aléatoire (timestamp) pour actualiser l'image dans le cache:
    file:///C:/moto.png?p=1213245421
    De retour parmis vous après 10 ans!!

  10. #10
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut Sub0,

    Au risque de passer pour un "nul", je ne comprends pas trop ta méthode. En fait, je me demande comment faire pour actualiser le cache.
    Si ce n'est pas faisable, hé bien, je laisserai tombé... d'après mes recherches sur le web, c'est firefox qui bloque cela pour une question de sécurité!
    Je laisse le topic ouvert encore un peu

    A+

  11. #11
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Voilà ce que j'ai en fait :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      <img name="my_im" src=""/><br/>
      <input type="file" onchange="document.my_im.src=this.value;"/>
    J'arrive à la même conclusion que toi. Ça marche avec IE et pas FF.
    Il s'agit bien d'un blocage de sécurité.
    IE7 me demande la permission pour utiliser cette fonction.
    De retour parmis vous après 10 ans!!

  12. #12
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Re Sub!

    Merci d'avoir testé ton idée sur IE7. Je sais par conséquent que je ne vais pas utiliser la méthode alors, car cela va générer des soucis par la suite et je voudrai faire un site compatible quasiment à 100% sur tous navigateurs. Je m'efforce de respecter la W3C aussi bien coté XHTML que CSS

    Sur ce, bonne soirée!
    @+
    Ero-Sennin

  13. #13
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Citation Envoyé par ero-sennin Voir le message
    Je m'efforce de respecter la W3C aussi bien coté XHTML que CSS
    Très bonne philosophie. Si tous les développeurs pouvaient penser ainsi...

    Bon week-end
    De retour parmis vous après 10 ans!!

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

Discussions similaires

  1. Comment faire une image de mon disque dur
    Par JQueen dans le forum Virtualisation
    Réponses: 4
    Dernier message: 21/02/2012, 17h56
  2. Réponses: 0
    Dernier message: 19/01/2009, 21h10
  3. recuperer une image sauvegardée sur disque dur
    Par tatikambwa dans le forum C#
    Réponses: 3
    Dernier message: 28/05/2008, 11h21
  4. Prendre une image d'un disque dur
    Par scolyo dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2006, 13h52
  5. Faire une image de son disque dur, puis restaurer cette imag
    Par cartonis dans le forum Autres Logiciels
    Réponses: 27
    Dernier message: 18/08/2005, 16h32

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