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

Réseau/Web Python Discussion :

python comme CGI - affichage d'images sous HTML


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut python comme CGI - affichage d'images sous HTML
    Bonjour,

    j'utilise python en tant que langage CGI. Ce script python génère des images à l'aide d'un script pil et gère la sortie HTML pour le navigateur.

    Mon problème : j'ai un objet image de pil dans ma fonction principale :
    et je veux l'afficher à l'aide d'un tag html <img src="contenu de l'image">

    Le problème c'est que ça n'affiche pas l'image mais mets le code binaire de l'image dans le code source html. J'ai besoin d'un script python qui est appelé dans le img src tag pour pouvoir afficher l'image. Le problème c'est que je ne sais pas comment passer l'objet image vers cette fonction (par l'url, mais comment)...sachant qu'au final c'est qu'un print que ce script renvois pour afficher l'image.


    Quelqu'un a une idée.

    Merci d'avance.

    Peter

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut
    personne n'a jamais eu ce problème ou dois je l'expliquer plus explicitement?

    Merci.

  3. #3
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    Sans être sûr à 100%:

    Soit tu enregistres ton image dans un fichier sur ton serveur et tu indiques le path dans ta balise <img />.
    Soit tu dois pouvoir indiquer dans ta balise <img src="mon_script.py"> en precisant le header qui va bien, genre header("Content-type: image/png").

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Par défaut
    salut !!

    quelqu'un de gentil pourrais m'expliquer :

    " Soit tu dois pouvoir indiquer dans ta balise <img src="mon_script.py"> en precisant le header qui va bien, genre header("Content-type: image/png"). "

    y a quoi dans mon_script.py?

    et la première proposition ne fonctionne pas pour ma part

    il y aurait d'autre suggestion?

    merci

  5. #5
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    Voici un exemple minimal contenant deux script: un serveur CGI (server.py) et un script CGI de création d'image (image.py):
    les emplacements des scripts sont les suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    - server.py
    - html/
        - cgi-bin/
               image.py
    server.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    from BaseHTTPServer import HTTPServer
    from CGIHTTPServer import CGIHTTPRequestHandler
     
     
    import os
     
    os.chdir('html')
    server = HTTPServer(("", 8888), CGIHTTPRequestHandler)
    server.serve_forever()
    image.py
    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
    #! /usr/bin/python
     
    import Image
    import cStringIO
     
    def create_image():
        f = cStringIO.StringIO()
        im = Image.new('RGB', (400,400), (255,255,0))
        im.save(f, "PNG")
     
        print  "Content-Type: image/png\n"
        f.seek(0)
        print f.read()
     
    if __name__ == "__main__":
        create_image()
    Il ne faut pas oublier de permettre l'execution du script image.py (je suis sous linux).
    Pour lancer le serveur:Il suffit alors d'ouvrir son navigateur à l'adresse http://127.0.0.1:8888/cgi-bin/image.py.


    En créant un fichier index.html dans le répertoire html

    index.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <html>
     
        <body>
            une jolie image bien moche: <img src="cgi-bin/image.py" />
    </body>
    </html>
    la page est directement accessible via http://127.0.0.1:8888/

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Par défaut
    excuse moi de mon incompétence

    je vois que tu as une fonction qui crée une image.py mais comment tu fais pour dire que tu veux afficher mon_image1.jpg ou mon_image2.jpg en image.py

    et a quoi sert cette condition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if __name__ == "__main__":
        create_image()

Discussions similaires

  1. Problème d'affichage des images sous apache/php
    Par kikoo_of_dijon dans le forum Apache
    Réponses: 9
    Dernier message: 03/11/2007, 16h24
  2. Problème d'affichage d'image sous IE
    Par guigui5931 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 04/06/2007, 13h03
  3. Pb d'affichage d'images sous EasyPHP
    Par Captain Sparrow dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 14/04/2007, 15h01
  4. [HTML] PB d'affichage d'images en HTML
    Par blandinais dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 19/01/2007, 10h55
  5. [CSS] Affichage d'images sous Firefox & IE
    Par Flushovsky dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 12/06/2005, 12h55

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