所以我的最后一个问题是关于如何从搜索中显示我的techID:
我的新问题仍在此页面上。我也添加了一个回声图像。但是我在使用Blob
并让它显示我的图像而不是二进制JPEG数据时遇到问题。
我一直试图找到另一个这样的例子,但找不到任何修复我的错误。
//Header ('Content-type: image/jpeg')
echo "<dt><strong>Technician Image:</strong></dt><dd>" . '<img src='.$row2['image'].' width="290" height="290">' . "</dd>";
和
$query_Recordset2 = "SELECT * FROM technician WHERE techID=" . $row1["techID"] ;
$Rs2 = mysql_query($query_Recordset2) or die(mysql_error());
到目前为止,我在上一个问题中所做的唯一更改(显然包括我给出的修复工作)。
我不明白的地方和方法是'Content-type: image/jpeg'
让我的页面识别链接的图像是MIME类型image/jpeg
。
我在页面上看到的是这个
技师图片: Eji` = $ 7F做“bCkkcR ^ M; N〜0安培;米)JR E)JDRE)JDRE)JDRE)JDRE)JDRE)JDSjR)+ N.R,U IN9,QX〜 {( ̮ : 2 12 “ aV7 6 { LP[ W گ R $ + LMc'hM5oPA |ګ0.8EģRn 1 [{3 GT; RYX; Ǖuz'vfÑ葟 z Q k 3 O ٔ ٔ ٔ em em,N [{+D ;“$$&安培; IJR)JR)JR)JR)JR)JR)JR)JR)JR)JR )JR)JR) width =“290”height =“290”&gt;
显然我删除了一个中间块,所以它不是很大。有一个小的“破碎的图像”框出现在正面,当我右键单击并选择“在新窗口中打开图像”时,它放入的URL只是Content-type:
或者我得到一个带有网址{{{}的禁止访问页面1}}
我在该网址中添加了一个空格,因为它不是互联网的链接。
我只使用普通的BLOB类型,因为我只需要一个小于64Kb的小图像
答案 0 :(得分:39)
在目前的情况下,您有两个前期选项。
如果您有许多这样的图像,第一个和我不推荐的是使用内联base64编码。这完成了:
<img src="data:image/jpeg;base64,<?php echo base64_encode($image); ?>" />
使用现有代码的复制/粘贴版本:
echo '<dt><strong>Technician Image:</strong></dt><dd>'
. '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'
. '</dd>';
第二种方法是创建一个“图像”PHP文件,该文件将数据库中图像的ID作为查询字符串参数并输出图像。因此,您的HTML看起来像:
<img src="image.php?id=<?php echo $image_id; ?>" />
您的PHP页面看起来类似于:
<?php
$id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id); // your code to fetch the image
header('Content-Type: image/jpeg');
echo $image;
?>
答案 1 :(得分:2)
您可以从与文档相同的页面输出图像的唯一方法是使用data uri。
echo "<dt><strong>Technician Image:</strong></dt><dd>" .
'<img src="data:image/jpeg;base64,'.
base64_encode($row2['image']).
'" width="290" height="290">' . "</dd>";
答案 2 :(得分:2)
正确的代码应如下所示。您必须使用stream_get_contents()将资源ID更改为字符串。
<img src="data:image/jpeg;base64,<?php echo base64_encode(stream_get_contents($row2['image'])); ?>" />
答案 3 :(得分:-1)
我认为最好的解决方案是将图像的路径存储在数据库中而不是 将整个图像存储为BLOB。然后在网页上显示图像设置 img标记的src属性到存储在数据库中的路径。