gpt4 book ai didi

php - 尝试显示 BLOB 时显示损坏的图像图标

转载 作者:行者123 更新时间:2023-11-30 01:25:38 26 4
gpt4 key购买 nike

好的,所以我的最终目标是显示作为 blob 存储在数据库 (MySQL) 中的图像(或多张博客类型样式)。现在它显示一个损坏的图像图标( enter image description here )。这是我到目前为止所尝试过的:

<?php
$link = mysql_connect('HOST','USER','PASS!') or die("Could not connect to database");
$dbsel= mysql_select_db('DATABASE', $link) or die("Couldn't select database.");

$result = mysql_query("SELECT * FROM bmblog");

while($row = mysql_fetch_assoc($result))
{

echo "<img src='php/imgView.php?imgId=".$row['media']."' />";

echo "<center>" . "<font color='white'>" . "<FONT FACE='timesnewromans'>" . nl2br(htmlspecialchars($row['msg']));

echo "<br>";
echo "<br>";
};

?>

还有

echo "<img src='data:image/jpeg;base64," . base64_encode($row['media']) . '" />';

echo "<center>" . "<font color='white'>" . "<FONT FACE='timesnewromans'>" . nl2br(htmlspecialchars($row['msg']));

两者都显示相同的损坏图像图标。然而,我确实注意到,在没有尝试回显第二行(文本)的情况下,我确实在损坏的图像图标周围得到了一个完整的边框,该边框大约与图像的大小有关。但这与第一种方法不同。我已经搜索了几个小时,找到了大量关于此的帖子,但似乎没有一个对我有用或有意义,我对 PHP 相当陌生,所以这可能是我缺少的一些简单的东西;不管怎样,提前感谢您提供的任何帮助,非常感谢!

最佳答案

可能解决问题的是添加 header("Content-Type: image/jpeg");就在您打印/回显图像之前。

而且奇怪的是,您包含的 base64 示例不起作用。当我查看提供的示例时,Also 部分的第一行 echo 以双引号 (") 开头并以单引号 (') 结尾。这可能会导致异常以及为什么您无法正确测试 base64。

必须是:

echo "<img src='data:image/jpeg;base64," . base64_encode($row['media']) . '" />";

您还可以添加字符集:data:image/jpeg;charset=utf-8;base64,

最后,我建议查看以下可能有所帮助的示例

How to Base64 encode your images

关于php - 尝试显示 BLOB 时显示损坏的图像图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18032399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com