当前位置: 首页 > 面试题库 >

我需要我的PHP页面以显示来自MySQL数据库的BLOB图像

笪波鸿
2023-03-14
问题内容

所以我的最后一个问题是如何从搜索中显示我的techID:

我正在尝试让我的“详细信息”页面引用通过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 TYPE
image/jpeg

我在页面上看到的是

技术员图像: E j i`= 7f $D o“ b Ckkc R ^M ; n〜 0&m)J R E)JDR E)JDR E)JDR E)JDR
E)JDR E)JDSjR ) + N .R,u 。 i n9, QX〜 {{( ̮ : 2 12 ‘’ aV7 6 {LP R $ + LMc’hM
5 o PA | ګ .8 E ģ Rn 1 [。 { 3> rY X ۜ; u z ′ vf N 葟 z Q 3 。 ܨ,NS ,N,N
[[{+ D。;;’$$$ &&iJR )JR )JR )JR。 )JR )JR )JR )JR )JR )JR )JR )JR ) width =“
290” height =“ 290”>

显然,我删除了一个中间块,因此它并不庞大。前面出现一个小的“损坏的图像”框,当我单击鼠标右键并选择“在新窗口中打开图像”时,其输入的URL就是简单的Content- type:或我获得了带有该URL的禁止访问页面http:// localhost/Sim5Server/Pages/%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%10JFIF%EF%BF%BD%01%02%EF%BF%BD%EF%BF%BDd%EF%BF%BDd%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BDC%EF%BF%BD

我在该网址中放置了一个空格,因为它不是互联网的链接。

我只使用了普通的BLOB类型,因为我只需要小于64Kb的图像


问题答案:

在当前情况下,您有两个预先选择。

第一个,如果您有很多这样的图像,我不建议您使用内联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;
?>


 类似资料:
  • 问题内容: 嗨,我的数据库中有一个图像表。这些与细节一起存储为Blob,例如图像类型和名称。 我在显示图像时遇到问题,我得到的只是一个带有红色十字的白框。码: 谢谢 问题答案: 好吧,这是一个简短的答案。 检查您的Blob类型是否至少为MEDIUMBLOB,它能够存储高达16M的数据

  • 问题内容: 我有一些数据存储在数据库中..我想在页面中显示存储的图像数据 以及其他 数据。 如果我从数据库中获取数据并使用其无法与其他PHP数据一起显示图像,是否还有其他方法? 问题答案: 阅读本文:显示存储在mysql blob中的图像

  • 问题内容: 此代码将图片test.gif放入图片位值中。 我的下一个目标是显示以字节为单位保存在数据库中的图片。如何才能做到这一点 ? 问题答案: 就像是: 可能为您工作。

  • 问题内容: 我正在尝试显示从blob数据类型的MySQL数据库检索的图像。无法找出是什么原因导致图像列显示这样的数据而不是图像图标。 … 问题答案: 由于您曾经存储图像,因此我必须假定您存储的是物理图像文件/格式,而不仅仅是像素数据。 您需要回读此图像格式并将其转换为Swing / Java支持的图像格式。 首先获取对数据库字段的引用… 一旦有了,就可以使用它的二进制文件并读取数据… 现在,你可以

  • 问题内容: 很难说出这里的要求。这个问题是模棱两可的,模糊的,不完整的,过于广泛的或修辞性的,不能以目前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 6年前关闭。 我有将图像存储在列中的MySQL数据库。我想在PrimeFaces中展示它们。我该如何实现? 问题答案: 您可以使用来显示存储在中的图像,而不管其来源(数据库,磁盘文件系统,网络等)如何。最简单的例子是: 指

  • 问题内容: 我正在尝试显示上传到MySql中“存储”表的最后5张图像。我对PHP和数据库完全陌生,并且我一直在阅读有关如何做到这一点的很多文章,但是没有运气。 我可以一次存储和显示图片,但我希望能够拥有各种各样的画廊来显示最近上传的5张照片。 任何建议或帮助将不胜感激,谢谢! 附言:我知道将图片存储到这样的数据库时不赞成这样做,但是该项目仅用于实践。 index.php get.php 问题答案: