使用sql将图像从客户端发送到数据库

时间:2013-03-06 16:13:22

标签: php html sql image

我正在尝试显示存储在我的数据库中的图像。我知道将图像存储在数据库中并不是最佳做法,但仅仅为了这个目的,我需要它。我的问题是,当我去显示图像时,我得到的是一堆乱码,我猜是代码中的图像,但不是视觉上我想要的。当我使用标头标签来识别图像时,我得到的只是一个缩略图,意味着它没有正确读取它。任何帮助都会很棒。

以下是我正在使用的代码。我已经尝试过两种方式使用它在php或html中显示,但无法显示图像:

while($row = mysql_fetch_array($result))
{
$Long = $row['Long'];
$Lat = $row['Lat'];
$img = $row['file'];
echo "<b><center>Database Output</b><br><br>";

echo "<td>" .$row['file']."</td>";
echo  "----";
echo "<td>" .$row['Lat']."</td></center>";
//echo "<td>" .$row['file']."</td>";
}
?>
    <div id="map">
<img src="<? $img?>" alt="">

感谢任何输入

1 个答案:

答案 0 :(得分:2)

您可以将图像作为数据URI嵌入到html页面中

<img src="data:image/jpeg;base64,<?php echo base64_encode($img) ?>" />

对于“大型”文件而言非常可怕 - 您使浏览器无法缓存图像,迫使用户在加载页面时下载base64编码的数据。

或者您有一个子脚本来提供实际图像,并且有更多类似的内容:

<img src="getimage.jpg?id=XXX">

<?php

$data = get_image_from_db($_GET['id']);
header('Content-type: image/jpeg');
echo $data;