我正在使用 laravel 并且使用 MySQL 数据库。我将图像作为 blob 保存到数据库中,如下所示:$path = $data->file;$image = file_get_contents($path);$base64 = base64_encode($image);DB::connection('mysql_live')->table('users_comments_files')->insert( ['comment_id' => $data->comment_id, 'filename' => 'TEST', 'date_added' => date("Y-m-d H:i:s"), 'date_modified' => date("Y-m-d H:i:s"), 'filetype' => 'image/png', 'file' => $base64]);文件列中有一些数据,所以我认为它有效。现在我想在 iframe 或 atm 中显示图像。创建一个网址。这是我如何尝试在视图中创建/显示 blob 的相关部分:return '<img data="data:' . $result->filetype . ';base64,' . $result->file . '" type="' . $result->filetype . '" class="object-elem"></img>我尝试像这样显示它们:$result = DB::connection('mysql_live')->table('users_comments_files')->where('id', $element_id)->first();$object_type = 'object';if (str_contains($result->filetype, 'image')) { $object_type = 'img';}return '<' . $object_type . ' data="data:' . $result->filetype . ';base64,' . $result->file . '" type="' . $result->filetype . '" class="object-elem"></' . $object_type . '> <style> body { background-color:#3a3a3a; } .object-elem { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; min-width: 100px; min-height: 100px; }</style>'; 我没有收到任何错误,但结果总是一个白色方块/立方体:
1 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
您需要删除双Base64编码,并填写属性src未data在<img>标签
<' . $object_type . ($object_type == 'img'?'src':'data') . '
="data:' . $result->filetype . ';base64, ' . $result->file . '" type="' . $result->filetype . '" class="object-elem">
</' . $object_type . '>
- 1 回答
- 0 关注
- 214 浏览
添加回答
举报
0/150
提交
取消