laravel - Laravel Nova:如何从二进制字符串显示图像?
问题描述
我将 PNG 的二进制内容保存在数据库中。我想在页面上显示这个 PNG,而不在磁盘上临时保存文件。我认为需要生成 img 标签<img src="data:image/png;base64,......
但是我不明白如何更好地实现它以及以什么类型的字段为基础。
Image::make('Image')->displayUsing(function($item) {
$mime_type = 'image/png';
return 'data: ' . $mime_type . ';base64,' . base64_encode($item);
}),
但是 Laravel Nova 生成了:
<img src="http://172.18.0.3/storage/data: image/png;base64,......" class="rounded-full w-8 h-8" style="object-fit: cover;">
添加了不必要http://172.18.0.3/storage/
的圆形课程。
如何防止它添加?
解决方案
Laravel Nova 2.0.1 的工作代码:
Image::make('QRCode', 'qrcode')->thumbnail(function($value, $disk) {
return 'data: image/png;base64,' . $value;
})->preview(function($value, $disk) {
return 'data: image/png;base64,' . $value;
})->displayUsing(function($value) {
return base64_encode($value);})
还需要rounded-full
从field.thumbnailUrl?t("img",{staticClass:"rounded-full w-8 h-8",
文件 public\vendor\nova\app.js 中删除
推荐阅读
- javascript - 节点快速路由传递变量到所需模块
- c# - 将 JSON 与父名称 C# 结合
- sql - 知道如何从今天的日期检索属于前一周的日期吗?
- json - postgres:查找与数组中的值匹配的嵌套json值
- sql-server - T-SQL 高效使用 PARTITION BY 和 DISTINCT
- outlook - Exchange 邮箱“AllItems”文件夹 - 2020 年出现在 Exchange 邮箱中的可能性
- python - 无法在python中执行pickle
- mysql - 如何连接以及如何将登录/注册数据从 Adobe XD 登录/注册原型导出到数据库?
- wifi - DFS-CAC-START 中的 hostapd 接口初始化失败
- android - 使用带有 Kotlin 的 FirebaseRecyclerAdapter 在 RecyclerView 中的项目上的按钮