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

ASP.NET Discussion :

[C#]Rafraichir une image


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 91
    Points : 53
    Points
    53
    Par défaut [C#]Rafraichir une image
    Bonjour,
    Dans mon application, j'affiche un graphique que je créé au préalable.
    La création du graphique se fait au chargement de la page en fonction de paramètres donnés. Lorsque celui-ci est créé, je le sauve dans un répertoire précis.
    Sur ma page, j'ai placé un composant web forms "image", je le charge donc avec l'image de mon répertoire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image1.ImageUrl = "/image/im.gif";
    Donc jusque la, tout marche impeccable.

    Le problème c'est que quand je sors de cette page pour aller sur une autre et quand je reviens dessus, une nouvelle image est créée avec les nouveaux paramètres... mais c'est toujours l'ancienne image qui est affichée. Pour obtenir la nouvelle il faut rafraichir la page (F5) car sinon il réaffiche l'image que IE a gardé en cache...

    Donc voila mon problème,
    Je souhaiterais donc pouvoir afficher mon nouveau graphique à chaque fois que j'entre sur ma page.
    - Est ce qu'il faut que je vide le cache à chaque fois? (mais il faudrait ke je supprime uniquement l'image)
    - Y a t-il un autre moyen d'afficher une image crée sans être obligé de l'enregistrer.
    - D'autres propositions ?

    merci.

  2. #2
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    En cherchant un peu: http://webman.developpez.com/articles/aspnet/gdi/

    Cependant parfois le problème persiste. Il faut donc peut être mieux empecher la mise en cache de cette page en particulier.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    merci bien!
    C la page dont je me suis servi pour créer mon image mais comme ça fait longtemps, je ne me rappelais plus qu'il parlait du transfert direct vers la page...
    Merci.

  4. #4
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Par contre, j'ai un problème avec la méthode proposée:
    Ils disent que pour éviter d'enregistrer l'image, on peut l'envoyer au client directement de la mémoire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Response.ContentType = "image/jpeg"
    monBitmap.Save(Response.OutputStream, ImageFormat.Jpeg)
    Le problème c'est que je mettais mon graph dans un composant image qui attend une url...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image1.ImageUrl="/image/im.gif";
    Donc, comment est ce que je peux faire le lien entre les deux ?
    J'avoue, je suis un peu perdu...

  5. #5
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Pour résumer (j'ai trouvé qqn qui l'avait mieux formulé que moi... mais hélas sans réponse):

    j'ai une fonction qui me génére une image et à la fin je fais : MaBitMap.Save(Response.OutputStream, ImageFormat.Gif)

    Ca marche niquel mais le fait d'utiliser Response.OutputStream me vide ma page pour n'afficher que le graph.
    Y a toujours la solution MaBitMap.Save(Server.MapPath, ...) pour passer par l'intermédiaire d'un fichier mais j'aimerais éviter.

    Comment faire pour remplacer l'attribut src (ou ImageUrl suivant le control utilisé) par le flux binaire que me retourne ma fonction.

    Merci

  6. #6
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    problème résolu en créant l'image sur une page aspx tampon...
    et en passant (sur la page ou on veux visualiser le graph) l'url de cette page aspx tampon en url:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image1.ImageUrl = "tampon.aspx"

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Je sais que cela fait longtemps que le problème est résolu mais il existe une seconde solution qui, à mon goût, est plus simple.

    Comme la évoqué Ditch, il faut forcer le navigateur a rechercher l'existence d'une version plus récente des pages à chaque visite de celles-ci.

    Dans IE, cela se règle via le menu Outils -> Options Internet. Dans l'onglet Général, cliquez sur Paramètres puis cocher la case "A chaque visite de la page" en dessous de "Vérifier si il existe une version plus récente des pages enregistrées".

    L'astuce de la page tampon ne marche pas avec moi (peut etre que c'est moi qui n'arrive pas à la faire marcher plutôit)

    En espérant que cela puisse aider d'autres personnes qui rencontront ce problème....

    Duggple

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Problème affichage image control sur le navigateur
    SAlut tout le monde s'il vous plait je travaille sur une application en asp.net j'ai arrivé au stade de la visualisation des images dans un controle image mais j ecrie le code correctement et il s'affiche pas dans le navigateur (google explorer ..) j'ai essayé url du emplacement local et url racine mais en vain ???

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

Discussions similaires

  1. rafraichir une image dans la memoire
    Par gargantua dans le forum 2D
    Réponses: 4
    Dernier message: 17/01/2008, 16h16
  2. [AJAX] rafraichir une image dont le src est un .php en AJAX
    Par avogadro dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/12/2006, 19h48
  3. [AJAX] Rafraichir une image
    Par fragmonster dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 01/11/2006, 13h13
  4. [Image]rafraichir une image..
    Par Empty_body dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 12/01/2006, 21h47
  5. [J2ME][MIDlet]rafraichir une image sans toucher au form?
    Par noobiewan kenobi dans le forum Java ME
    Réponses: 1
    Dernier message: 05/09/2005, 09h54

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