Maison >base de données >tutoriel mysql >Comment afficher les images stockées sous forme de BLOB dans MySQL ?

Comment afficher les images stockées sous forme de BLOB dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-05 06:34:10209parcourir

How to Display Images Stored as BLOBs in MySQL?

Récupérer et afficher des images à partir d'un champ BLOB MySQL

Vous êtes confronté au défi d'afficher une image stockée sous forme de champ BLOB dans votre MySQL base de données. L'erreur que vous rencontrez suggère que vous n'avez pas correctement spécifié le type MIME de l'image.

Pour résoudre ce problème, vous pouvez utiliser l'une des deux approches suivantes :

Option 1 : Encodage Base64 en ligne

Encodez l'image sous forme de chaîne base64 et intégrez-la directement dans votre HTML. Ceci n'est pas recommandé pour un grand nombre d'images.

echo '<dt><strong>Technician Image:</strong></dt><dd>'
     . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'
     . '</dd>';

Option 2 : Générer un fichier PHP d'image

Créez un fichier PHP distinct qui prend l'ID de l'image comme paramètre de chaîne de requête et génère l'image.

<img src="image.php?id=<?php echo $image_id; ?>" />
$id = (isset($_GET['id']) &amp;&amp; is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id); // your code to fetch the image

header('Content-Type: image/jpeg');
echo $image;

Assurez-vous de spécifier le type MIME correct avec header('Content-Type: image/jpeg') avant de faire écho à l'image. Cela demandera au navigateur d'interpréter les données comme une image.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn