【问题标题】:Laravel socialite Save avatarLaravel 社交名媛保存头像
【发布时间】:2023-03-08 12:32:01
【问题描述】:

各位,我需要在数据库的头像栏中保存图片名称 并将图像保存在 public/Storage/users My Code Here 将图像链接保存在数据库中,请帮助。

public function handleProviderCallback($service)
{
    $user = Socialite::driver($service)->user();
    $FindUser = User::where('email',$user->getEmail())->first();
        if($FindUser){
            Auth::login($FindUser);
        }
        else{
            $NewUser = new User;
            $NewUser->email = $user->getEmail();
            $NewUser->name  = $user->getName();
            $NewUser->avatar  = $user->getAvatar();
            $NewUser->password  = bcrypt(123456);
            $NewUser->save();
            Auth::login($NewUser);
        }
    return redirect('/');
}

【问题讨论】:

    标签: php laravel laravel-5 voyager


    【解决方案1】:

    只需使用file_get_contents 函数获取数据并处理检索到的数据。

    use File; 
    

    创建获取头像的辅助方法

    function getSocialAvatar($file, $path){
        $fileContents = file_get_contents($file);
        return File::put(public_path() . $path . $user->getId() . ".jpg", $fileContents);
    }
    

    替换$user->getAvatar()

    使用辅助方法

    getSocialAvatar($user->getAvatar(), 'path')

    【讨论】:

    • 感谢它运行良好,但我需要将其保存在 /public/storage/users
    • 我试过 return File::put(public_path($path = '/public/storage/users') . $path . 'imaged' . ".jpg", $fileContents);跨度>
    猜你喜欢
    • 2017-03-04
    • 1970-01-01
    • 2018-12-20
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    相关资源
    最近更新 更多