PHP:从MySQL Blob直接将图像检索到<img>标签中

Deb*_*ole 1 php mysql blob image

我已将我的图像存储到(中)BLOB字段中,并希望检索它们嵌入在我生成的PHP页面中.

当我测试使用时检索存储的图像

header('Content-type: ' . $image['mime_type']);
echo $image['file_data'];
Run Code Online (Sandbox Code Playgroud)

一切看起来都很好.

但是,我还没有找到一种方法将图像干净地检索到文档的中间.例如,使用

$image  = $row['file_data'];
echo '<img src="data:image/jpeg;base64,'.$image['file_data'].'" alt="photo"><br>';
Run Code Online (Sandbox Code Playgroud)

...要么...

$im = imageCreateFromString($image);
Run Code Online (Sandbox Code Playgroud)

我只是在屏幕上看到一堆十六进制垃圾.

我使用以下方式直接存储图像:

ob_start();
imagejpeg($resizedImage, null, 100);
$content = ob_get_contents();
ob_end_clean();
$sql = sprintf(
 "insert into images (filename, mime_type, file_size, file_data, event_id)
 values ('%s', '%s', %d, '%s',%d)",
 mysql_real_escape_string($fileName),
 mysql_real_escape_string($mimeType),
 $imageSize,
 mysql_real_escape_string($content),
 $eventID 
);
$result = $cn->query($sql);
Run Code Online (Sandbox Code Playgroud)

有没有人请有一个工作代码片段来成功显示PHP输出中存储的.jpg mid文件?

Thi*_*ter 6

echo '<img src="data:image/jpeg;base64,'.base64_encode($image['file_data']).'" alt="photo"><br>';
Run Code Online (Sandbox Code Playgroud)

但是,请记住,旧的IE版本不支持这种内联图像!除此之外,浏览器不能缓存这样的图像,除了它包含的HTML页面.