如何从枪口请求中获取和显示图像

时间:2019-04-27 14:14:48

标签: php ajax laravel guzzle

我正在尝试显示来自大量请求的图像,一切正常,但无法显示图像。

这是我尝试获取用户数据时得到的结果

C
if("C" %in% colnames(mylist_new))
 {
     Mean_C <- rowMeans(do.call(cbind, lapply(mylist_new, "[", "C")))
     Mean_C <- as.data.frame(Mean_C)    
 }

我要一张照片

2 个答案:

答案 0 :(得分:3)

一旦您从 guzzle 获得图像的响应,

$client = new \GuzzleHttp\Client(['base_uri' => 'https://www.example.com']);
$response = $client->request('GET', 'wallpaper/wallpaper-preview.jpg', ['stream' => true]);

然后您可以将其编码为 base64 并使用格式发送。您可以使用 php 提供的 base64_encode() 函数。

<块引用>

'data:image/jpeg;base64,your-base-64-encodedstring'
示例: 'data:image/gif;base64,R0lGODlhAAEwAMQAAJ2M5Me98GRK1DoYyYBr3PHv++Pe99XO81Y50auc6PBkZEgpzbmt7HJa2I57fS3CqU7XGYgE+GqHvrLJ8Tr6qXmqiwAF9CffgnMNqmWHAWNBwwGsKpKsrmJqltOOV69nuYxSkqpoTata18rWtrr1rTIIAQA7'

$body = $response->getBody()->getContents();
$base64 = base64_encode($body);
$mime = "image/jpeg";
$img = ('data:' . $mime . ';base64,' . $base64);
return "<img src=$img alt='ok'>";

额外

您可以使用 $response->getHeader('Content-Type')[0];

从响应中获取 mime 类型(上面代码片段中的 $mime)

答案 1 :(得分:0)

以下代码示例可从kodementor.com检索/显示图像 关键是#standardSQL with pt as ( select pq.*, tag from `bigquery-public-data.stackoverflow.posts_questions` pq cross join unnest(split(pq.tags, '|')) tag ) select pt.tag as tag1, pt2.tag as tag2, count(*) as cnt from pt join pt pt2 on pt2.id = pt.id and pt.tag < pt2.tag group by 1, 2 order by count(*) desc; 结果,以便显示图像。

echo

希望这会有所帮助