将用户图片网址保存在数据库中

时间:2019-04-21 22:07:41

标签: php database laravel

我将图像保存在公用文件夹中,但是我需要将图像URL而不是文件名保存在数据库中。

https://devdojo.com/episode/laravel-user-image

public function update_avatar(Request $request){

      if ($request->hasFile('avatar')){
        $avatar = $request ->file('avatar');



        $fileName = time().'.'. $avatar->getClientOriginalExtension();

        Image::make($avatar)->resize(300, 300)->save( public_path('/uploads/avatars/'. $fileName));

        $user = Auth::user();
        $user->avatar = $fileName;
        $user->save();

      }
      return view('profile', array('user' => Auth::user()));
    }

3 个答案:

答案 0 :(得分:2)

强烈建议您不要使用该方法,而是将名称保存在数据库中,并在数据库中使用带有名称的文件路径来显示图像。

例如:

<img class="border-radius-3" src="{{ asset('uploads/avatars/'.$user->image)}}" alt="">

只需告诉我们您要完成的任务。

答案 1 :(得分:1)

如果您需要在DB中保存文件URL,则可以使用类似的

 $user->avatar = '/uploads/avatars/'.$fileName);

答案 2 :(得分:-2)

您应该将img转换为base64,以将其作为字符串存储在DB中。

我从不推荐这样做,但是无论如何:

$data = base64_encode($img);