身份验证表是admin
表。其中一列是图片栏。这列只是为了保存图像的位置,因此它是varchar类型。
我有一个所有页面的主布局,我想在主布局中添加管理员的图像。
$user = Auth::user();
$image_user_path= $user->picture;
$image_user_extension = pathinfo($image_user_path, PATHINFO_EXTENSION);
$image_user_data = file_get_contents($image_user_path);
$user->base64 = 'data:image/' . $image_user_extension. ';base64,' .base64_encode($image_user_data);
请检查$user
现在是否有base64
属性
<img src="{{Auth::user()->base64}}"/>
完美无缺
但是,属性是我必须在每个控制器中添加代码,无论如何,我可以将它添加到一个地方,就是这样吗?
在我的脑海中,我可以想到BaseController
可能在那里?
答案 0 :(得分:2)
在用户模型上创建一个方法,然后在视图中调用该函数,例如
public function imageUrl() {
$image_user_path = $this->picture;
$image_user_extension = pathinfo($image_user_path, PATHINFO_EXTENSION);
$image_user_data = file_get_contents($image_user_path);
return 'data:image/' . $image_user_extension. ';base64,' .base64_encode($image_user_data);
}
然后,在您看来:
<img src="{{ Auth::user()->imageUrl() }}">