php - 如何在 laravel 5.6 中更新图像
问题描述
我想更新 laravel 5.6 中的图像。
在我的应用程序中,图像正在正确上传并插入到数据库中,但是当我想更新图像时,它无法更新旧图像。
如何使用其他字段更新图像?
这是我的看法:
<form method="post" action="{{ route('employee.update', $employee->id) }}" enctype="multipart/form-data">
@csrf
@method("PATCH")
<input type="hidden" name="profile_old_image" value="{{$employee->profile_pic}}">
<div>
<input type="file" name="profile_pic" class="form-contrle" >
</div>
<div>
<input placeholder='Your Name' type='text' name='name' value="{{$employee->name}}" class="form-control">
</div>
</form>
这是我的控制器:
public function update(Request $request, $id)
{
$rules = [
'name' => 'required',
'father_name' => 'required',
'phone_no' => 'required',
'cnic' => 'required'
];
$validate = $this->validate($request, $rules);
$file = $request->file('profile_pic');
if($file == '')
{
$profile_pic = $request->profile_old_image;
}
else
{
$file = $request->file('profile_pic');
$fileName = time().'.'.$file->getClientOriginalExtension();
$destinationPath = public_path('/admin/images/employees');
$file->move($destinationPath,$fileName);
$profile_pic = '/admin/images/employees/'.$fileName;
}
//dd($request->all());
$employee = Employee::find($id);
$employee->name = $request->name;
$employee->father_name = $request->father_name;
$employee->phone_no = $request->phone_no;
$employee->cnic = $request->cnic;
$employee->desg_id = $request->desg_id;
$employee->profile_pic = $profile_pic;
$employee->save();
return redirect('admin/employee')->with('message', 'Records Successfully Updated');
}
解决方案
推荐阅读
- r - 使用行中的值匹配另一个数据框中的列和行
- sql-server - 如果任何状态 = 待处理,请不要选择 ID
- android - GridLayout 共享元素转换无法正常工作
- c++ - C++ asm 插入与 int 命令有关
- r - R shinyhelper 因 htmlOutput 而失败
- typescript - 使用 TypeScript 的条件类型
- android - Firebase DB 更新除了正确的记录外还更新了错误的记录
- angular - Angular - 如何在选项卡单击时拒绝访问 tabView 中的 tabPanel
- primary-key - 在 H2 数据库引擎中为 UUID 类型的主键列指定默认值?
- javascript - Javascript - 如何通过变量中的对象名称引用加载到页面中的脚本中的对象