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

Langage PHP Discussion :

Affichage image binaire [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut Affichage image binaire
    Bonjour à tous, dans une de mes application je récupère l'avatar d'un contact Gmail et je souhaite l'afficher, j'ai cependant un problème qui me rend complètement dingue depuis quelques temps déjà. Sur l'ancienne version de mon script tout fonctionne parfaitement mais sur la nouvelle version, pour laquelle la récupération et l'affichage de l'image son quasi identique, rien à faire ça ne fonctionne pas
    Je vous donne donc les principaux extrait de mon code, si quelqu'un à une idée vraiment je suis preneur de tout

    Je colle ici dans un premier temps le code qui ne fonctionne pas suivi de l'ancien qui lui fonctionne :

    Ne fonctionne pas - Avatar.php :
    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
     
    <?php
    class AvatarController extends Zend_Controller_Action
    {
        public function indexAction()
        {
            //Désactive le layout
            $this->_helper->layout->disableLayout();
            //Récupére les variables
            $type = $this->_getParam('type');
            $urlEncode = $this->_getParam('url');
            $token = $this->_getParam('token');
            if (!empty($type) || !empty($urlEncode) || !empty($token)){
                //Décode l'url Gmail
                $urlDecode = urldecode($urlEncode);
                //Instancie un nouveau service (GMail, Yahoo, etc...)
                $service = My_ContactsGetter_Services::getService($type);
                //Récupére l'objet Avatar
                $avatar = $service->getAvatar($urlDecode, $token);
                //Modifie le header et insére les données
                $this->getResponse()->clearBody();
                $this->getResponse()->setHeader('Content-Type', $avatar->getType());
                $this->getResponse()->appendBody($avatar->getDatas());
            }
        }
    }
    Fonctionne - Avatar.php :
    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
     
    <?php
    require_once 'contactsgetter/services/ContactGetterModule.php';
     
    class ImageController extends Zend_Controller_Action
    {
    	function indexAction()
    	{
    		$this->view->title = "image";
    		$this->_helper->layout->disableLayout () ;
    			$type = $this->_getParam('type');
    			$URi = $this->_getParam('URi');
    			$token = $this->_getParam('token');
    			if (!empty($type) || !empty($URi) || !empty($token)){
    				$URi = urldecode($URi);
    				$service = ContactGetterModule::getService($type);
    				$imgBinaire = $service->getBinaryImage($URi, $token);
    				$this->getResponse()->clearBody();
    				$this->getResponse()->setHeader('Content-Type', $imgBinaire->getType());
    				$this->getResponse()->appendBody($imgBinaire->getDatas());				
    			}
    			else{
    				// TODO
    			}
    	}
    }
    Je fais ensuite appel à l'image de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<img src='.$this->baseUrl().$contact->getAvatarUri().'/>';
    Ce qui donne un lien de la forme suivante :http://localhost/shady_contacts/publ...vii9aIY_6C9mw/

    ps : j'ai aussi récupérer les headers http des deux versions (je sais pas peut être que ça peux servir) la seul différence entre la version qui fonctionne et l'autre c'est la présence de cette ligne dans la version qui fonctionne :

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    J'AI TROUVEEE
    Soulagement, depuis le temps que j'étais sur le truc...Résultat un simple saut de ligne en trop en haut dans mon fichier index.php... Que de temps perdu pour rien

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

Discussions similaires

  1. [Image] Affichage image en 12 bits
    Par Plawi dans le forum 2D
    Réponses: 9
    Dernier message: 18/11/2004, 10h34
  2. Affichage Image
    Par greg_one dans le forum Composants
    Réponses: 5
    Dernier message: 22/06/2004, 17h10
  3. Problème de mémoire Affichage images
    Par Repti dans le forum C++Builder
    Réponses: 6
    Dernier message: 29/03/2004, 21h06
  4. [Kylix] pb Affichage image .jpg
    Par sioux dans le forum EDI
    Réponses: 4
    Dernier message: 18/01/2004, 20h20
  5. ouverture image binaire
    Par mathieutlse dans le forum Langage
    Réponses: 2
    Dernier message: 10/01/2003, 12h05

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