我正在连接到Active-Directory并成功获取 thumbnailPhoto 属性。
我使用Base64编码将文件存储在数据库中,结果如下:
/9j/4AAQSkZJRgABAQEAYABgAAD/4RHoRXhpZgAATU0AKgAAAAgABQEyAAIAAAAUAA ...
(完整的Base64编码字符串:http://pastebin.com/zn2wDEmd)
使用a simple Base64 Decoder并将字符串解码为二进制文件并将其重命名为jpeg并使用图像查看器打开(此处:Irfan View)我得到了正确的图片 - 看看自己:
我如何通过PHP实现这一目标 - 我尝试过使用:
<?php
$data = '/9j/4A...'; //The entire base64 string - gives an error in dreamweaver
$data = base64_decode($data);
$fileTmp = imagecreatefromstring($data);
$newImage = imagecreatefromjpeg($fileTmp);
if (!$newImage) {
echo("<img src=".$newImage."/>");
}
?>
我只是得到一个空白页面!
答案 0 :(得分:1)
您的问题是imagecreatefromstring()
不会返回文件,而是内存中应该使用正确的标题输出的图像。
$data = base64_decode($data);
// Create image resource from your data string
$imgdata = imagecreatefromstring($data);
if ($imgdata) {
// Send JPEG headers
header("Content-type: image/jpeg");
// Output the image data
imagejpeg($imgdata);
// Clean up the resource
imagedestroy($imgdata);
exit();
}