从API结果在php网页中显示PNG图像

ant*_*n2g 1 php api curl

创建此问题是因为我的上一个问题在不重复时被标记为重复。

我有一个 GET API 调用返回 UTF-8 PNG 图像。我正在从 PHP 进行调用,并希望显示嵌入在网页中的 PNG 缩略图。有人可以帮我弄清楚如何将图像与网页的其余部分内嵌显示吗?到目前为止,我只是获取 CURL 响应并将其回显到页面。这是我所看到的。先感谢您。

$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,'$url');
curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17');
curl_setopt($curl,CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
$headers = array( 'X-Tableau-Auth: ' . $GLOBALS['authToken'] );
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$resp = curl_exec($curl);
echo $resp;
$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
$header = substr($resp, 0, $header_size);
$body = substr($resp, $header_size);
echo $body;
curl_close($curl);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Fed*_*kun 5

一种方法是将图像内容编码为 base64,然后将其嵌入到您的页面中,如下所示

echo '<img src="data:image/png;base64,' . base64_encode($body) . '">';
Run Code Online (Sandbox Code Playgroud)

要了解有关“数据”URL 方案的更多信息,请阅读RFC2397