如何以SQL Server VARBINARY(MAX)数据类型存储和检索图像

时间:2014-06-25 05:24:37

标签: php sql sql-server sql-server-2008

我已经按照以下方式在SQL DB,varbinary(max)数据类型的Image字段中保存了一个图像。

$image = "baby.jpg";
$type = pathinfo($image, PATHINFO_EXTENSION);
$data = file_get_contents($image);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
$insert = "insert into logoType(image)values(?)";
$param = array($base64);
$sql = sqlsrv_query($dbhandle, $insert, $param ) or die( print_r(sqlsrv_errors()) ); 

插入部分成功。现在,我如何从数据库中检索保存的图像并使用php在网页中显示它。我尝试了以下方法,但不断收到错误消息“图像无法显示,因为它包含错误。”

header('Content-Type: image/x-bmp');
echo $image;

如何使用php将数据显示在网页中,数据存储在db?中。请指南。提前谢谢。

2 个答案:

答案 0 :(得分:0)

您在保存之前已将图像转换为Base64,因此您应该将其转换回来然后使用echo

答案 1 :(得分:0)

groupid = add_ves.getStringExtra("groupID");
...
long_id = Long.parseLong(groupid);