Mysql
 sql >> Database >  >> RDS >> Mysql

Come visualizzare un'immagine da un BLOB MySQL

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

Questo codice sembra perfettamente OK. Tuttavia, ho sentito un reclamo simile da un'altra persona e sono stato in grado di risolverlo assicurando che:

  1. Lo script php non genera alcun carattere aggiuntivo prima o dopo l'invio dei dati dell'immagine binaria.

  2. Lo script php viene salvato come un file di testo ASCII puro, non come un file codificato Unicode/UTF-8. I file PHP con codifica Unicode/UTF-8 potrebbero includere una firma come primi byte. Questi byte saranno invisibili nel tuo editor di testo ma il server invierà questi pochi byte extra al browser prima dei dati JPEG/GIF/PNG. Il browser troverà quindi la firma errata all'inizio dei dati. Per risolvere il problema, crea un file di testo vuoto nel blocco note, incolla il codice php e salva il file nella codifica ANSI.