在Laravel 8中,应用程序带有inertiajs/惰性-vue 0.7/vuejs2 2(但没有jetstream)
我使用"spatie/laravel-medialibrary":"^9.9“作为化身上传
$loggedUser = auth()->user();
$avatar_file_path = $avatarImageUploadedFile->getPathName();
$loggedUser->addMedia( $avatar_file_path )->toMediaCollection('avatar');它可以工作,但是当我使用的时候,我可以用哪种方式在客户端使用化身?
this.$page.props.user在vue组件属性中,检查哪个用户被记录并显示他的信息?
谢谢!
发布于 2021-12-27 15:10:51
您可以通过“'Shared数据”特性通过中间件完成这一任务。
例如,要共享用户信息,可以执行以下操作:
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
class HandleInertiaRequests extends Middleware
{
public function share(Request $request)
{
return array_merge(parent::share($request), [
'user' => function () {
return Auth::user() ? [
'id' => Auth::user()->id,
'name' => Auth::user()->name,
'email' => Auth::user()->email,
// get path to avatar
'avatar' => Storage::url('avatar-of-the-user.jpg'),
] : null;
},
]);
}
}客户端您可以使用this.$page.props.user.avatar访问化身的URL。
https://stackoverflow.com/questions/70493504
复制相似问题