编辑并重新开始以更好地描述我的问题。
我有这段代码使用blob数据显示数据库中的图像。
function getContent($db) {
$query = "SELECT name, animalid, image, thumb FROM images ";
$sql = $db->prepare($query);
$sql->execute();
return $sql->fetchAll();
}
$data = getContent($db);
foreach($data as $row) {
$id = $row['id'];
$image = $row['image'];
$thumb = $row['thumb'];
echo '<img src="data:thumb/jpg;charset=utf8;base64,'.$image.'">';
}
此代码在页面上显示图像,当查看源代码时,我看到该图像所基于的Blob数据,我需要的是实际制作一个可以正确命名的图像。
如何从Blob数据中创建一个******。jpg?
答案 0 :(得分:0)
使用base64_encode
。您应该使用image/jpeg
而不使用charset
的MIME类型。
function getContent($db) {
$query = "SELECT name, animalid, image, thumb FROM images ";
$sql = $db->prepare($query);
$sql->execute();
return $sql->fetchAll();
}
$data = getContent($db);
foreach($data as $row) {
$id = $row['id'];
$image = $row['image'];
$thumb = $row['thumb'];
// $image is the BLOB
echo '<img src="data:image/jpeg;base64,'.base64_encode($image).'">';
}