我将图像保存在公用文件夹中,但是我需要将图像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()));
}
答案 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);