从Blob重建jpg

时间:2019-02-16 21:28:41

标签: php

编辑并重新开始以更好地描述我的问题。

我有这段代码使用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?

1 个答案:

答案 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).'">';   
}