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 :

Problème d'affichage d'image


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Points : 212
    Points
    212
    Par défaut Problème d'affichage d'image
    J'ai créé une page qui permet lors du choix d'une image (par le champ input file) de l'afficher directement dans une iframe.
    Le problème est que cela marche très bien quand j'utilise mes fichiers en locaux, mais quand je passe par le serveur, j'ai une erreur de sécurité qui survient. Comment pourrais-je faire pour résoudre mon problème ???

    Voici le code js qui me permet d'afficher mon image :
    Code : 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
     
    //Fonction permettant de verifier que l'image entrée en paramètre est valide puis d'en analyser la taille
                function Test_file()
                {
                    var imagefile = document.getElementById('filename').value;
                    var extension = imagefile.substring((imagefile.length -3),imagefile.length);
                    if(extension == "jpg" || extension == "gif" || extension == "png" || extension == "bmp")
                    {
                        var image_url = "file:///" + ConvertToUrl(imagefile);
                        getIFrameDocument("image").body.innerHTML = "<p align=\"center\"><img src=\"" + image_url + "\" onload=\"javascript:parent.Image_properties()\"></p>";
                        image_loaded = true;
                    }
                    else image_loaded = false;
                }
     
                //Fonction permettant d'informer des propriétés de l'image
                function Image_properties()
                {
                    //On sauvegarde la taille originale des images
                    OriginWidth = getIFrameDocument("image").images[0].width;
                    OriginHeight = getIFrameDocument("image").images[0].height;
                    //On indique la taille des images dans les champs associés
                    document.getElementById('width').value = OriginWidth;
                    document.getElementById('height').value = OriginHeight;
                    RapportHW = OriginHeight / OriginWidth;
                    //On recupere le nom de l'image
                    source = convertFromUrl(getIFrameDocument("image").images[0].src);
                    document.getElementById('title').value = source.substring(source.lastIndexOf('\\')+1,source.lastIndexOf('.'));
                    //On active les champs et les boutons
                    document.getElementById('width').disabled = 0;
                    document.getElementById('height').disabled = 0;
                    document.getElementById('title').disabled = 0;
                    document.getElementById('ButtonWC').disabled = 0;
                    document.getElementById('ButtonWR').disabled = 0;
                    document.getElementById('ButtonHC').disabled = 0;
                    document.getElementById('ButtonHR').disabled = 0;
                }
     
    //Fonction permettant de recuperer le document contenu dans une iframe
                function getIFrameDocument(aID)
                {
                    if (document.getElementById(aID).contentDocument)
                        return document.getElementById(aID).contentDocument;
                    else
                        return document.frames[aID].document;
                }
    De plus je voudrais savoir de plus si il est possible de mettre un filtre lorsque l'on clik sur le bouton parcourir du champ input file.

  2. #2
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    C'est quoi exactement ton erreur de sécurité ?

  3. #3
    Membre actif Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Points : 212
    Points
    212
    Par défaut
    Erreur de sécurité : le contenu situé à http://127.0.0.1/editeur/editeur/view_image.html ne peut pas charger de données ou établir un lien vers file:///C:/Documents%20and%20Settings/Aurel/Bureau/icone.gif.

  4. #4
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    N'oubli pas qd tu telecharge un fichier, le serveur le met dans un fichier temporaire : $_FILES['nom_input']['tmp_name'].

    Quand tu veux afficher l'iamges, faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $uploaddir = '../Aurel/Bureau/'; 
    move_uploaded_file($_FILES['nom_input']['tmp_name'], $uploaddir.$_FILES['nom_input']['name']);
    Peut être que tu l'a déjà fait ...

  5. #5
    Membre actif Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Points : 212
    Points
    212
    Par défaut
    je vois ce que tu veux dire mais à ce moment là il faut que j'execute une requete POST pour faire ce que tu me dis ...
    Alors qu'ici c est en javascript quand je choisis l'image elle s affiche directement dans la meme fenetre où se trouve le champ input file.[/img]

  6. #6
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    Faire 2 formulaires dont pour afficher l'image.

    En JS : OnChange="onsubmit;" (de ton input file)
    Et tu vas chercher ton image dans $_FILES['nom_input']['tmp_name']

Discussions similaires

  1. Problème d'affichage d'image en JS
    Par DaXou45 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/05/2006, 16h50
  2. [XML/CSS/XSL] Problème d'affichage des images "dynamiqu
    Par popol55 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 06/04/2006, 16h24
  3. Problème d'affichage d'image...
    Par fabreizhad dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 21/03/2006, 12h43
  4. problème d'affichage d'image avec mozilla
    Par lyon31 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/03/2006, 16h27
  5. CSS Probléme d'affichage d'images
    Par tebonb dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 01/06/2005, 18h35

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