我使用smarty,mysql,我只是想显示图像。 这是我得到的错误 -
资源解释为图像但使用MIME类型text / html传输
<img src="http://localhost/admin/image2.php?id={$editWine[0].id}" width="150" height="260" border="0" class="bottle-img" id="smallImageWineEdit" />
$id=$_REQUEST['id'];
$sql="SELECT * FROM table WHERE id=$id";
$result=mysql_query($sql) or die(mysql_error());
while($row=@mysql_fetch_assoc($result))
{
echo '<img src="data:image/jpeg;base64,'.base64_encode( $row['image_data'] ).'" width="150" height="150" />  ';
echo $row['image_data'];
}
while循环中的回显工作正常。
当我检查元素并在新标签中打开此img链接时,图像正在显示。而它没有显示在当前页面中。
答案 0 :(得分:1)
问题是你再次从图像文件中传递html标签。您只需要输出具有适当图像内容类型的图像数据。
编辑image2.php
,如
if($row=@mysql_fetch_assoc($result))
{
header('Content-type: image/jpg');
echo $row['image_data'];
exit();
}
执行上述更改并在浏览器中请求http://localhost/admin/image2.php?id=VALID_ID_HERE
并检查其是否重新调整图像。然后你可以在index.php
的src标签中使用它来显示它。如果在请求图像时出现错误,请确保在数据库中询问正确的图像ID,并使用您看到的错误消息更新问题。