Problème d'affichage d'image BLOB
Fermé
Dzomo
-
12 janv. 2011 à 12:58
Mireliria Messages postés 48 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 13 septembre 2013 - 13 sept. 2013 à 04:01
Mireliria Messages postés 48 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 13 septembre 2013 - 13 sept. 2013 à 04:01
A voir également:
- Problème d'affichage d'image BLOB
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Affichage double ecran - Guide
- Faststone image viewer - Télécharger - Visionnage & Diaporama
- Image iso windows 10 - Guide
6 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
12 janv. 2011 à 13:43
12 janv. 2011 à 13:43
Bonjour,
> Malheureusement, la première partie c'est à dire l'insertion de l'image dans la base se passe sans problème.
Ah, là je peux t'aider :D
Trêve de plaisanteries, j'aurais quelques remarques :
1) ton lien ne marche pas, tu donnes l'adresse en local ;
2) essaie d'enlever la fonction header() pour récupérer le code binaire directement dans le navigateur, et dis-nous ce que tu trouves...
3) essaie d'écrire le contenu de $coll[1] dans un fichier, et ouvre le fichier en question avec ton visionneur d'image favori : est-ce qu'on y voit quelque chose ?
Xavier
> Malheureusement, la première partie c'est à dire l'insertion de l'image dans la base se passe sans problème.
Ah, là je peux t'aider :D
Trêve de plaisanteries, j'aurais quelques remarques :
1) ton lien ne marche pas, tu donnes l'adresse en local ;
2) essaie d'enlever la fonction header() pour récupérer le code binaire directement dans le navigateur, et dis-nous ce que tu trouves...
3) essaie d'écrire le contenu de $coll[1] dans un fichier, et ouvre le fichier en question avec ton visionneur d'image favori : est-ce qu'on y voit quelque chose ?
Xavier
Merci Xavier,
Lorsque j'enlève la fction header, il apparait une suite de caractère bizares (le code binaire sans doute).
Lorsque j'enlève la fction header, il apparait une suite de caractère bizares (le code binaire sans doute).
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
12 janv. 2011 à 15:25
12 janv. 2011 à 15:25
C'est plutôt bon signe : tu récupères bien l'image...
Ensuite, reste le problème de son affichage.
Qu'est-ce que tu mets exactement dans le header ?
Ensuite, reste le problème de son affichage.
Qu'est-ce que tu mets exactement dans le header ?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
12 janv. 2011 à 15:27
12 janv. 2011 à 15:27
Essaie de rajouter ça comme header :
header('Content-transfer-encoding: binary');
header('Content-transfer-encoding: binary');
Merci Xavier,
J'ai mis ceci :header ("Content-type:".$coll[2]); $Coll[2] est la variable qui recupère le type du fichier enregistrer dans la base de données. Dans la base c'est apparu image/pjpeg.
Lorsque j'ai ajouté l'instruction : header('Content-transfer-encoding: binary');
il n' y a pas eu de changement. C'est le statu quo.
Merci de continuer à me fournir des pistes
J'ai mis ceci :header ("Content-type:".$coll[2]); $Coll[2] est la variable qui recupère le type du fichier enregistrer dans la base de données. Dans la base c'est apparu image/pjpeg.
Lorsque j'ai ajouté l'instruction : header('Content-transfer-encoding: binary');
il n' y a pas eu de changement. C'est le statu quo.
Merci de continuer à me fournir des pistes
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
12 janv. 2011 à 17:36
12 janv. 2011 à 17:36
pjpeg ?
Il vient d'où ce "p" ?
Ce ne serait pas plutôt jpeg ?
Il vient d'où ce "p" ?
Ce ne serait pas plutôt jpeg ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Lorsqu'on télécharge un fichier jpeg d'un navigateur IE, c'est le type de MIME qu'il créé. Cela veut dire Progressive JPEG. L'image pourra donc s'afficher progressivement. Dans tous les cas, lorsque tu demande à la base de stocker le type de fichier, c'est ce qu'elle met comme type pour les fichiers jpeg.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
13 janv. 2011 à 09:10
13 janv. 2011 à 09:10
OK, merci pour la précision, je ne connaissais pas...
Je suis désolé mais je ne vais pas pouvoir t'aider plus sur ton problème, là, honnêtement, je ne vois pas d'où vient le problème...
Si, juste une dernière tentative : et si tu crées une page html dans laquelle tu mets juste la balise suivante :
<img src="apercu.php?id=xxx />
avec un id d'image existant.
Tu vois l'image ou non ?
Je suis désolé mais je ne vais pas pouvoir t'aider plus sur ton problème, là, honnêtement, je ne vois pas d'où vient le problème...
Si, juste une dernière tentative : et si tu crées une page html dans laquelle tu mets juste la balise suivante :
<img src="apercu.php?id=xxx />
avec un id d'image existant.
Tu vois l'image ou non ?
Mireliria
Messages postés
48
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
13 septembre 2013
3
13 sept. 2013 à 04:01
13 sept. 2013 à 04:01
Salut j'ai le mm soucis pour afficher l'image : ça donne apercu.php ! Je récupère bien l'image mais le problème est uniquement affichage !! Faut il décoder en binaire ou garder le header ?
Voici mon code :
<?php
if ( isset($_GET['id']) )
{
$id = intval ($_GET['id']);
include ("connexion.php");
$req = "SELECT img_id, img_type, img_blob ".
"FROM images WHERE img_id = ".$id;
$ret = mysql_query ($req) or die (mysql_error ());
$col = mysql_fetch_row ($ret);
if ( !$col[0] )
{
echo "Id d'image inconnu";
}
else
{
header ("Content-type: ".$col[1]);
header('Content-transfer-encoding: binary');
echo $col[2];//0 ou 2
}
}
else
{
echo "Mauvais id d'image";
}
?>
Voici mon code :
<?php
if ( isset($_GET['id']) )
{
$id = intval ($_GET['id']);
include ("connexion.php");
$req = "SELECT img_id, img_type, img_blob ".
"FROM images WHERE img_id = ".$id;
$ret = mysql_query ($req) or die (mysql_error ());
$col = mysql_fetch_row ($ret);
if ( !$col[0] )
{
echo "Id d'image inconnu";
}
else
{
header ("Content-type: ".$col[1]);
header('Content-transfer-encoding: binary');
echo $col[2];//0 ou 2
}
}
else
{
echo "Mauvais id d'image";
}
?>