Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment afficher une image à partir d'un blob mysql

<?php
  header("Content-type: $type");
  echo $blobData;
?>

Ce code semble parfaitement OK. Cependant, j'ai entendu une plainte similaire de la part d'une autre personne et j'ai pu résoudre le problème en assurant que :

  1. Le script php ne génère aucun caractère supplémentaire avant ou après l'envoi des données d'image binaires.

  2. Le script php est enregistré en tant que fichier texte ASCII pur, et non en tant que fichier encodé Unicode/UTF-8. Les fichiers PHP codés Unicode/UTF-8 peuvent inclure une signature comme premiers octets. Ces octets seront invisibles dans votre éditeur de texte mais le serveur enverra ces quelques octets supplémentaires au navigateur avant les données JPEG/GIF/PNG. Le navigateur trouvera donc la mauvaise signature en début de données. Pour contourner le problème, créez un fichier texte vide dans le bloc-notes, collez-y le code php et enregistrez le fichier en encodage ANSI.