更改图像名称并保存到DB Laravel
您好,我无法将图像名称存储到Laravel项目中的数据库中。 如何解决这个问题 这是控制器的代码更改图像名称并保存到DB Laravel,laravel,file-upload,Laravel,File Upload,您好,我无法将图像名称存储到Laravel项目中的数据库中。 如何解决这个问题 这是控制器的代码 class TarifController extends Controller { public function store(Request $request) { $request->validate([ 'title_uz' => 'required', 'desc_uz' => 'required', '
class TarifController extends Controller
{
public function store(Request $request)
{
$request->validate([
'title_uz' => 'required',
'desc_uz' => 'required',
'full_desc_uz' => 'required',
'company_id' => 'required',
'order' => 'required',
'image' => 'required|image|mimes:jpeg,png,jpg,svg|max:2048',
]);
$image1 = time().'.'.$request->image->extension();
$request->image->move(public_path('images'), $image1);
Tarif::create($request->all());
return redirect()->route('tarifs.index')
->with('success','Yangi tarif muvoffaqiyatli qo`shildi.');
}
}
这是视图中的代码
<form role="form" action="{{ route('tarifs.store') }}" method="post" enctype="multipart/form-data">
@csrf
<div> .. another fields .. </div>
<div class="col-5">
<label for="image">Surat</label>
<input type="file" class="form-control" name="image" id="image" required>
</div>
<div> .. another fields .. </div>
<div class="card-footer">
<a class="btn btn-info" href="{{ route('tarifs.index') }}">Qaytish</a>
<button type="submit" class="btn btn-success">Saqlash</button>
</div>
</form>
@csrf
.. 另一个领域。。
苏拉特
.. 另一个领域。。
萨格拉什
它将图像保存到public/images文件夹,但未将文件名或路径保存到数据库。数据库上的字段名为“image”。如果需要将新值合并到请求对象中,以下代码可以完成此操作:
$request->merge(['image' => 'avatar.png']);
或者,您可以按如下方式更改代码:
$image1 = time().'.'.$request->image->extension();
$request->image->move(public_path('images'), $image1);
$input = $request->all();
$input['image'] = $image1;
Tarif::create($input);
我做了与您类似的更改,但它保存的数据如下:“W:\userdata\temp\php69E2.tmp”。但当我捕获请求时,它返回[“image”=>“1604906402.jpeg”]。