Question

J'essaie de créer un script qui extrait une image de la base de données et l'affiche à l'utilisateur, appelé par <img src="viewImage/someImageName">

.

Mais le problème que je rencontre est lorsque l'image est affichée, tous les Nulls (0x00) sont remplacés par 0x20 et je ne sais pas pourquoi. Les données de la base de données indiquent qu'il s'agit de valeurs NULL, mais que, quelque part, il devient 0x20s.

Quelqu'un at-il une idée? est-ce qu'il me manque quelque chose?

Voici le code que j'utilise:

$data = $this->Image->read(NULL, $userId);
header("Content-Type: image/jpeg");
echo($data['image']);
die;

Je pense que cela n’a rien à voir avec le code car, comme vous pouvez le constater, il n’ya pas de place pour les erreurs. Je peux vider le contenu binaire et il n'a pas encore été falsifié.

Quelque chose avec la pile ou Cakephp des pensées?

Mise à jour: J'ai remarqué qu'il y a un espace au début du flux, j'essaie de le localiser, est-ce que cela pourrait être le problème?

Était-ce utile?

La solution 2

J'avais un espace perdu dans un fichier quelque part, très amusant à retrouver :) Je suppose que cela change le mode de quelque chose dans la pile et corrompt les fichiers

Autres conseils

Oui, quelque chose se passe en cours de route (parce que OMG est nul, et si quelque chose pense être des terminateurs de chaîne) et les remplace par des espaces. Je soupçonne CakePHP mais je ne suis pas assez sûr pour dire que j'accuse. Essayez:

header('Transfer-Encoding-Type: base64');

et voyez si cela convainc tout ce qui est en train de le faire pour laisser vos données seules.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top