这个问题可能有一个简单的答案,我可能会以错误的方式提出这个问题。
我有一个Web应用程序,它通过API(特别是librets和MLS提要)从服务器提取信息。 API的一部分以原始二进制数据的形式返回图像。
目前我正在将这个原始二进制数据写入.jpg文件,并将它们存储在我这边以便以后访问。我想知道是否有办法使用原始数据在网页上显示这些图像,而不是将它们保存在我身边。
答案 0 :(得分:0)
我同样不确定我是否正确地回答了问题,所以如果我对你的问题的解释是in the wrong way
就像你的问题一样,那么请忽略或说出来,而不是低估我!
你可以从PHP而不是从文件提供图像 - 我的意思是你可以让PHP动态创建一个图像并提供它,而不是必须在你的web服务器的文件系统中有一个文件,并且必须在名称中引用它。 HTML中src
标记的<image>
字段。
所以,而不是
<image src="....jpg" alt="..." size="...">
你可以使用
<img src="/php/thumb.php?param1=$col¶m2=$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数据流发送到浏览器。