我遇到了用户头像的问题。我将它们存储在storage\app\public\avatars\user_id_1_username\useravatar.jpg
在我的刀片视图中,我执行此操作:<img src="{{asset('storage/avatars/user_id_'.Auth::user()->id.'_'.Auth::user()->first_name.'/'.Auth::user()->avatar)}}" width="150px" alt="User Image">
这个设置在localhost中完全正常,但在我的共享ftp主机上这不起作用,我得到500内部服务器错误。有人有建议我该如何解决这个问题?
如果我写<img src="{{asset('storage/app/public/avatars/user_id_'.Auth::user()->id.'_'.Auth::user()->first_name.'/'.Auth::user()->avatar)}}" width="150px" alt="User Image">
然后它在共享主机中工作,但不在我的localhost开发中。有什么建议吗?
答案 0 :(得分:0)
这就是我解决它的方法。
我创建了一个帮助函数,以便将文件放在正确的路径中:
function showProfile(){
$path = storage_path('app/public/avatars/user_id_'.Auth::user()->id.'_'.Auth::user()->first_name.'/'.Auth::user()->avatar);
if (!\File::exists($path)) {
$path = storage_path('app/public/avatars/avatar.png');
$file = \File::get($path);
}
$file = \File::get($path);
return $file;
}
然后在我的刀片中我使用了这个:
<img src="data:image/jpeg;base64,{{ base64_encode(showProfile()) }}" width="150px" alt="User Image">
我不知道这是否是最有效的方式,但它到目前为止还有效。