显示来自 MySQL BLOB 列的图像
在寻求显示在 MySQL 数据库中存储为 BLOB 数据的图像时,您遇到过将二进制数据呈现为实际图像的问题。让我们深入研究解决方案。
解决方案 1:内联 Base64 编码
如果您要处理少量图像,可以使用 Base64 对其进行编码。这种方法将二进制数据转换为可以直接嵌入到 HTML 中的紧凑字符串:
echo '<dt><strong>Technician Image:</strong></dt><dd>' . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">' . "</dd>";
解决方案 2:PHP 代理文件
更有效的方法对于大量图像,创建一个 PHP 代理文件,根据 ID 从数据库中检索图像参数:
<img src="image.php?id=<?php echo $image_id; ?>" />
<?php $id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0; $image = getImageFromDatabase($id); header('Content-Type: image/jpeg'); echo $image; ?>
注意:要正确实施这些解决方案,请确保在服务器配置中将图像文件的 MIME 类型设置为 image/jpeg。
以上是如何在 MySQL 中显示存储为 BLOB 的图像?的详细内容。更多信息请关注PHP中文网其他相关文章!