php - 如何使用 Laravel 更新图像?
问题描述
我想使用 Laravel 更新我的数据库中的图像,但不幸的是,图像没有更新。我该如何解决这个问题?
控制器
public function updateaction(Request $request, $id)
{
$category = $request->input('select_category');
$project_name = $request->input('product_name');
$image = $request->file('select_file');
$new_name = mt_rand().'.'.$image->getClientOriginalExtension();
$image->move(public_path('projects'), $new_name);
$updaterecord = DB::table('projects')->where(['products_id' => $id])->update([
'project_name' => $project_name, 'category_id' => $category, 'image' => $image
]);
if ($updaterecord) {
return redirect('view_project');
}
return back();
}
看法
<form action="{{route('project.update', $project->products_id)}}" method="POST"
enctype="multipart/form-data">
@csrf
<div class="group-form">
<select class="form-control" name="select_category" required>
<option value="">Select Category</option>
@foreach($categories as $category)
<option value="{{$category->id}}" @if($project->category_id) == $category->id) @endif>
{{$category->category_name}}</option>
@endforeach
</select>
</div>
<br>
<div class="group-form">
<input type="text" class="form-control" value="{{$project->project_name}}"
placeholder="Update Product Name" name="product_name" required>
</div>
<br>
<div class="group-form">
<input type="file" class="form-control" value="{{asset('/public/projects/'.$projects->image)}}"
name="select_file">
</div>
<br>
<div class="group-form">
<input type="submit" class=" btn btn-primary form-control" value="UPDATE" name="Update">
</div>
</form>
路线
Route::post('project_update/{id}/update', 'AdminController@updateaction')
->name('project.update');
解决方案
您尝试将 UploadedFile 对象保存到数据库。我认为,您需要保存一个带有文件名的字符串,例如,$new_name 而不是 $image。
推荐阅读
- html - 即使浏览器支持,字体变体设置也不起作用
- javascript - Y 轴无法在 Chartjs 上正确显示
- c++ - 在 C++ 中的 Visual Studio 中创建简单的类实例时出错。初学者
- nginx - Nginx 负载均衡 HTTPs 集群
- visual-studio-debugging - Atmel studio 不工作用于发布或调试模式选择的工具窗口
- java - 如何防止错误 java.lang.NumberFormatException: For input string: "72"
- python - 在 Python 中重复一个任务
- css - 我怎样才能创建这个引导网格布局?
- .net-core - SendGrid Inbound Parse Webhook 获取参数
- c++ - /bin/run.sh:第 4 行:18 分段错误(核心转储)./exe