2

嗨,我在 mysql 中以 BLOB 格式保存了 jpg 图像。我在使用 PHP 将图像渲染到我的视图页面时遇到问题。当我使用

header('Content-type: image/jpeg')

它在我的页面上显示一条消息,因为图像无法显示,因为它包含错误。当我在没有标题功能的情况下打印时,会显示一些垃圾文本。这是我的代码:

function loadImage(){
//connect to db
mysql_select_db('aaa',$conn);
$query = mysql_query("SELECT * FROM asdf WHERE UserName='".$userName.");
$row = mysql_fetch_array($query);
$content = $row['ProfileImage'];
header('Content-type: image/jpeg');
echo $content;
}

这是html代码:

<img src='loadImage.php?func=loadImage' />

如果显示图像,那么我打算使用

loadImage.php?func=loadImage?id=number'

但图像本身没有显示。非常感谢任何帮助。

4

3 回答 3

1

希望这可以帮助某人...

假设图像已经以 blob 格式上传,那么您可以使用它

首先使用查询获取要显示其图像的记录并将 blob 图像存储在 $blobimg

然后用它来转换blob文件

echo '<img src ="data:image/jpeg;base64,'.base64_encode($blobimg).'"/>';
于 2013-05-14T10:11:20.920 回答
0

为什么将图像保存在数据库中。

最佳做法是将您的图像保存在某个文件夹中,并为您的图像指定一个唯一的名称。然后将图像名称保存到数据库中。

在显示图像时使用

<img src='path/to/image/image_name' />
于 2013-01-29T04:57:00.377 回答
0

通过注释掉 header('Content-type: image/jpeg'); 检查页面上是否有任何其他错误

如果您的脚本设置为输出错误,则图像将无法正确呈现

于 2013-01-29T05:27:09.207 回答