我有一个存储在mysql中的图像作为mediumblob,现在我想在html页面中显示它,所以我这样做:
$c = base64_encode($resu[0]->image);
$image = '<img src="data:image/jpeg;base64,'.$c.'" />';
echo $image;
但是我只获得原始图像的一半,所以我在这里遗漏了一些东西吗?
答案 0 :(得分:0)
只需在strlen
变量上使用$resu[0]->image
执行快速测试,然后检查数据库中的blob大小,并检查它们是否大小不一。
答案 1 :(得分:0)
只是一个想法,可能是你可以分离逻辑来显示图像。 我的意思是你可以创建一个像image.php这样接受id或文件名的文件 然后显示图像。然后,您可以简单地在HTML中引用图像 举例来说,做这样的事情:
image.php文件中的
类似于以下内容
$ imgId = isset(GET [ 'imgId'])GET [ 'imgId']:0;
$ sql =“SELECT * FROM theBlogs WHERE ID = $ imgId;”;
$ result = mysql_query($ sql)或die(mysql_error());
$ row = mysql_fetch_array($ result);
header(“Content-type:image / jpeg”); echo $ row ['imageContent'];
答案 2 :(得分:0)
在li标签中显示表示使用此
<li data-thumb='<?php echo "data:image/jpeg;base64,".base64_encode($img1 ); ?>'>
<div class="thumb-image">
<img <?php echo 'src="data:image/jpeg;base64,'.base64_encode( $img1 ).'"';?>
data-imagezoom="true" class="img-responsive" alt="">
</div>
</li>