php - 从guzzle API返回图像后如何在laravel中显示图像
问题描述
您好我想通过发送带有 jwt 令牌的 API 在我的项目中显示私有图像。我使用邮递员进行测试。邮递员返回图像,但我怎样才能像邮递员一样显示图像。
这是我的代码控制器 sendApi
public function getIdCard($name) {
$token = $this->getToken();
$client = new Client(['base_uri' => env('URL_FRONTEND')]);
$headers = [
'Authorization' => 'Bearer ' . $token,
];
$response = $client->request('GET', 'storage/getIdCard/icQE5nwU1jQl1lrIZJmGxVs2GDIIsDjbuQo541VlwzhNTl7iEe1555385649.png', [
'headers' => $headers
]);
$response = $response->getBody()->getContents();
return $response;
}
这是我的 API/控制器 [来自另一个项目]
public function getIdCard($file_name){;
$storagePath = storage_path('app/id_card/'. $file_name);
return Image::make($storagePath)->response();
}
这是我得到的
PNG IHDR��B5 pHYs���+ IDATx��yx�U�?��Nw�@B�o�Ha"ʦ� ����(.����� ��l^t��늨�D�EYe5Q�d5l��,$d�������'U眷�~��ɓ~�R���T�yC���t� ��b���`�$���z�Á�� ->W� ]�+��*������L�����"y��Hn��yj��H�Ma�ɗ�"��x��ǹϺxt�7�8���H��M�_0�ҿs�/<��o�X����h*,��,5e�Ή��1{�e��pS�,�M����z��)�R8fd5����\����SƗ�r�:J�j�ǸO�UfK�d�U��vR:��ƛ7*��v2�������dS�T礱����=c/j��\�kus��:������,�DE�Z��E���R)Y�AT���!~��(�s�m@ͻ��M:"&n�����d���/�8��]�1�d���[� +5�s.tyǩ)��lF��ĬJ���us����[c�F:�U����%����/���*]���B�'Q��2]:X������q���R_�5N���"n�j� �[����}W}��#�7��{Va?��íQ���]5�����_J���¤��6NG�-͜5n?#�8Ug�z��esoT��]+����!]�E]�x����D=[�N�K���8��*5�3Ήrd�p�ps:�#%��O��-�\E^:gNg^��rq��O��iPT�\q�(�_�3{84�����kWH�o��Zw��/�Y�+��r��
在邮递员中它是返回图像我如何像邮递员一样显示
更新 我在 Api/controller 中添加的功能仍然无法正常工作
public function getIdCard($file_name){;
$storagePath = storage_path('app/id_card/'. $file_name);
$headers = [
"Content-type: image/png",
];
return response()->file($storagePath, $headers);
}
**更新 2 **
我正在做 2 个项目 - 我返回的第一个项目 API return response()->file($storagePath, $headers); - 然后我使用邮递员,它是返回图像 - 我想从 API 获取图像并使用的第二个项目
$response = $response->getBody()->getContents();
它是返回文本/html 如何将其显示为图像
解决方案
这是解决方案:
$data = $response->getBody()->getContents();
$base64 = 'data:image/png;base64,' . base64_encode($data);
echo '<img src="'.$base64.'">';
推荐阅读
- c# - 用户单击 ASP.NET Web 表单上的按钮与计时器运行调用相同按钮单击事件的方法之间的区别?
- c - 理解c中不同风格的#defines
- node.js - $lookup 中用于比较 objectId 的 mongodb $match 操作未按预期工作
- ios - 如何在免费试用期内提出 IAP 购买请求?
- python - Python是否可以用pygame调用pickfile窗口?
- html - 如何摆脱包装器周围的空间
- django-rest-framework - 尝试获取序列化程序“DialogSerializer”上字段“对手”的值时出现 AttributeError
- f# - 使用 XmlProvider 的 EmbeddedResource 选项时缺少根元素
- python - 如何将“pandas”数据帧和“numpy”数组合并到 H5 中
- c# - 创建用户时如何修复 System.ObjectDisposedException