Php SQL映像不';不显示标题内容
我的图像存储在MySQL数据库的longblob类型列中,但当我试图在Chorme上的浏览器上显示它们时,我只看到一个小的白色框,在Firefox上,我看到一条错误消息,说图像文件有问题 这是我用来显示图像的Php SQL映像不';不显示标题内容,php,mysql,Php,Mysql,我的图像存储在MySQL数据库的longblob类型列中,但当我试图在Chorme上的浏览器上显示它们时,我只看到一个小的白色框,在Firefox上,我看到一条错误消息,说图像文件有问题 这是我用来显示图像的 $query = "SELECT file, type FROM uploads WHERE ref = '$ref'"; $statement = $pdo->prepare($query); $statement->execute(); $row = $statement-
$query = "SELECT file, type FROM uploads WHERE ref = '$ref'";
$statement = $pdo->prepare($query);
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
header("Content-Type: " . $row["type"]);
echo $row["file"];
注意:$row[“type”]
是文件的MIME类型。
我认为图像没有损坏,因为我可以用这个来显示它
echo '<img src="data:image/jpeg;base64,'.base64_encode( $row['file'] ).'"/>';
好的,我发现了问题,似乎是一个
echo
与该php的内含物一起滑落,它破坏了图像
$query = "SELECT file, type FROM uploads WHERE ref = '$ref'";
$statement = $pdo->prepare($query);
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
header("Content-Type: " . $row["type"]);
echo $row["file"];
如果有人有同样的问题,只需确保没有
echo
或print
或任何错误显示。好的,我发现问题,似乎是echo
与该php的内含物一起滑落,并损坏了图像
$query = "SELECT file, type FROM uploads WHERE ref = '$ref'";
$statement = $pdo->prepare($query);
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
header("Content-Type: " . $row["type"]);
echo $row["file"];
如果有人有同样的问题,只需确保没有
echo
或print
或显示任何错误。用于减少您的image@rupesh我尝试了base64_decode()
,但仍然是一样的,还有base64_encode()
,就像echo
一样,它不起作用;打电话的方法不对吗image@rupeshType是文件的MIME类型,通常为image/png或image/jpeg。这就是那行的外观内容类型:image/png
。如果我在浏览器上进行检查,它具有正确的标题。未指定为decryot urimage@rupesh我尝试了base64_decode()
,但仍然是一样的,还有base64_encode()
,就像echo
一样,它不起作用;打电话的方法不对吗image@rupeshType是文件的MIME类型,通常为image/png或image/jpeg。这就是那行的外观内容类型:image/png
。如果我在浏览器上进行检查,它的标题是正确的。