BLOB图像无法渲染

时间:2013-01-29 04:46:26

标签: php mysql blob

您好我在mysql中以BLOB格式保存了一个jpg图像。我在使用PHP将图像渲染到我的视图页面时遇到问题。当我使用

header('Content-type: image/jpeg')

它在我的页面上显示一条消息,因为它包含错误,因此无法显示图像。当我打印没有标题功能时,会显示一些垃圾文本。这是我的代码:

function loadImage(){
//connect to db
mysql_select_db('aaa',$conn);
$query = mysql_query("SELECT * FROM asdf WHERE UserName='".$userName.");
$row = mysql_fetch_array($query);
$content = $row['ProfileImage'];
header('Content-type: image/jpeg');
echo $content;
}

这是html代码:

<img src='loadImage.php?func=loadImage' />

如果显示图像,那么我打算使用

loadImage.php?func=loadImage?id=number'

但图像本身并未显示。非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

希望这有助于某人...

假设图像已经以blob格式上传,那么您可以使用此

首先在$ blobimg中使用查询和存储blob图像获取要显示其图像的记录

然后用它来转换blob文件

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

答案 1 :(得分:0)

通过注释标题('Content-type:image / jpeg')检查您是否在页面上收到任何其他错误;

如果您的脚本设置为输出错误,那么图像将无法正确呈现

答案 2 :(得分:-1)

为什么要在数据库中保存图像。

最佳做法是将图像保存在某个文件夹中,并为图像指定唯一名称。然后将图像名称保存到数据库中。

显示图像时使用

<img src='path/to/image/image_name' />