首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在this.$page.props.user中设置上传的化身与inertiajs?

如何在this.$page.props.user中设置上传的化身与inertiajs?
EN

Stack Overflow用户
提问于 2021-12-27 09:02:56
回答 1查看 220关注 0票数 0

在Laravel 8中,应用程序带有inertiajs/惰性-vue 0.7/vuejs2 2(但没有jetstream)

我使用"spatie/laravel-medialibrary":"^9.9“作为化身上传

代码语言:javascript
复制
$loggedUser = auth()->user();
$avatar_file_path = $avatarImageUploadedFile->getPathName();
$loggedUser->addMedia( $avatar_file_path )->toMediaCollection('avatar');

它可以工作,但是当我使用的时候,我可以用哪种方式在客户端使用化身?

代码语言:javascript
复制
this.$page.props.user

在vue组件属性中,检查哪个用户被记录并显示他的信息?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-27 15:10:51

您可以通过“'Shared数据”特性通过中间件完成这一任务。

例如,要共享用户信息,可以执行以下操作:

代码语言:javascript
复制
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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70493504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档