Сохранить ссылку на изображение пользователя в базе данных - PullRequest
0 голосов
/ 22 апреля 2019

Я сохраняю изображение в общедоступной папке, но мне нужно сохранить 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 ]

2 голосов
/ 22 апреля 2019

Настоятельно не рекомендуется использовать этот подход, вместо этого сохраните имя в базе данных и используйте путь к файлу с именем в базе данных для отображения изображения.

Например:

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

Просто скажите нам, чего вы пытаетесь достичь.

1 голос
/ 22 апреля 2019

Если вам нужно сохранить URL файла в БД, вы можете использовать что-то вроде этого

 $user->avatar = '/uploads/avatars/'.$fileName);
0 голосов
/ 22 апреля 2019

Вы должны преобразовать img в base64, чтобы сохранить его как строку в БД.

Я никогда не рекомендую это, но в любом случае:

$data = base64_encode($img); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...