<img src="{{$post->image}}" width="140" height="140">
这是我用来从数据库获取图像以查看文件的行
我使用波纹管控制器获取此图像
public function show($id)
{
$post=Clients::find($id);
return view('pet.shw',['post'=>$post,'pets'=>$post->pets]); }
下面还会显示迁移文件
public function up()
{
Schema::create('clients', function (Blueprint $table) {
$table->increments('id');
$table->string('ename');
$table->string('mobile');
$table->string('mail');
$table->binary('image') ; //image that i wanna use
$table->mediumText('Discription');
$table->timestamps();
});
}
此方法无效view shows like this 我该如何解决这个问题,建议采用更好的新方法,因为所有图像都应保存在数据库中,所以我不能使用public / storage文件夹
答案 0 :(得分:0)
尝试
$img = base64_encode($post->image);
<img src="data:image/jpg;charset=utf8;base64,<?php echo $img ?>"/>
或者您也可以将图像行替换为以下内容
<img src="data:image/jpg;charset=utf8;base64,{{base64_encode($post->image)}}"/>
要动态设置mime类型,请使用辅助功能并使用它
function constructImageFromBinary($file, $mime)
{
$contents = file_get_contents($file);
$base64 = base64_encode($contents);
return ('data:' . $mime . ';charset=utf8;base64,' . $base64);
}
并使用刀片模板中的帮助功能,如下所示
<img src="@php echo constructImageFromBinary($post->image,'image/png'); @endphp"/>