您好我在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'
但图像本身并未显示。非常感谢任何帮助。
答案 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' />