1

我有一个存储在外部数据库中的 jpg blob,我希望通过 php 将其显示为图像。问题是,每当我设置Content-Typeimage/jpeg并回显 blob 时,我在浏览它时会得到损坏的图像图标。

我尝试通过 sublime 从头开始​​制作文件,当我将其保存为十六进制文件时,它可以工作,所以我知道数据是有效的。

我试过让脚本创建一个文件,但它设置了它,charset=us-ascii所以它不会被视为图像文件。

有人对原始图像二进制文件有任何经验吗?有人知道我如何显示图像甚至将其保存到文件中吗?

提前致谢。

PS我会提供二进制文件,但它太大了,不能放在这里。

编辑:(添加了一些代码)

<?php
header('Content-Type: image/jpeg;');

$data = 'some long string of hex';


// tried echoing it directly..
echo $data;

// and writing to a file...
file_put_contents('test.jpg', $data);
?>
4

2 回答 2

1

经过继续研究,我发现这篇文章PHP: create file from an HEX string

使用以下代码,我解决了这个问题。

<?php
header('Content-Type: image/jpeg;');

$data = 'The hex data';

$data = pack('H*',$data);

$im = imagecreatefromstring($data);

imagejpeg($im);

?>
于 2013-09-22T23:30:32.543 回答
0

尝试$im = imagecreatefromstring($data); 输出它imagejpeg($im);

于 2013-09-22T23:14:46.790 回答