如何解决Laravel:如何同时编辑用户信息和上传个人资料图片?
我一直在尝试编辑用户信息并从同一表格上载个人资料图片。 我可以使用以下代码编辑用户信息,
ProfileController.php
public function index()
{
$user = Auth::user();
return view('profile.profile',['user' => $user]);
}
public function edit()
{
$user = Auth::user();
return view('profile.editprofile',['user' => $user]);
}
public function update(Request $request)
{
$user_form = $request->all();
$user = Auth::user();
unset($user_form['_token']);
$user->fill($user_form)->save();
return redirect('/profile');
}
但是,当我尝试上传个人资料图片时(我向数据库添加了profile_image列)并更改了这样的代码
ProfileController.php
public function index()
{
$user = Auth::user();
return view('profile.profile',['user' => $user]);
}
public function update(Request $request,User $user)
{
$user->id = $request->user()->id;
$user->name = $request->name;
$user->email = $request->email;
if ($request->hasFile('image')) {
if (is_file($user->image)) {
Storage::delete('public/image/' . $user->image);
}
$path = $request->file('image')->store('public/image');
$user->image = basename($path);
}
$user = Auth::user();
$user->update();
return redirect('/tests');
}
没有任何内容被编辑或上传。我将被重定向,并且不会显示任何错误。
由于我尝试了多种方法而没有成功,任何帮助将不胜感激。
谢谢。
解决方法
$user->name = $request->name;
if (is_file($user->image)) {
Storage::delete('public/image/' . $user->image);
}
此代码是不必要的。谢谢!
,由于以下几行,您将被重定向:
$user = Auth::user();
$user->update();
return redirect('/tests');
第一行是在$ user变量中设置一个新值,而下一行是在没有新值的情况下对其进行更新!然后重定向到以前的网址
检查您的图片是否移至“公开/图片”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。