从网页上的原始数据显示图像

时间:2014-09-12 18:45:18

标签: image binary jpeg

这个问题可能有一个简单的答案,我可能会以错误的方式提出这个问题。

我有一个Web应用程序,它通过API(特别是librets和MLS提要)从服务器提取信息。 API的一部分以原始二进制数据的形式返回图像。

目前我正在将这个原始二进制数据写入.jpg文件,并将它们存储在我这边以便以后访问。我想知道是否有办法使用原始数据在网页上显示这些图像,而不是将它们保存在我身边。

1 个答案:

答案 0 :(得分:0)

我同样不确定我是否正确地回答了问题,所以如果我对你的问题的解释是in the wrong way就像你的问题一样,那么请忽略或说出来,而不是低估我!

你可以从PHP而不是从文件提供图像 - 我的意思是你可以让PHP动态创建一个图像并提供它,而不是必须在你的web服务器的文件系统中有一个文件,并且必须在名称中引用它。 HTML中src标记的<image>字段。

所以,而不是

<image src="....jpg" alt="..." size="...">

你可以使用

<img src="/php/thumb.php?param1=$col&param2=$ref"/>

导致在呈现页面时调用`/php/thumb.php'中的PHP脚本。在该脚本中,您可以动态创建图像(如果您愿意,可以使用额外的参数),如下所示:

<?php    
header("Content-type: image/jpeg");
$p1 = $_GET['param1'];
$p2 = $_GET['param2'];

$src = imagecreatefromstring(SOMESTRING);
$dst = imagecreatetruecolor($width,$height);
imagecopyresampled($dst,$src,0,0,0,0,$width,$height,$size[0],$size[1]);
imagedestroy($src);
imagejpeg($dst);
imagedestroy($dst);
?>

我在前3行之后省略了一些代码,所以你只看到了技术而不是我代码的所有细节。您感兴趣的实际行是:

header(...image/jpeg);

告诉浏览器什么类型的东西即将来临 - 即图像和

imagejpeg();

实际上将JPEG数据流发送到浏览器。