Estoy tratando de cargar una imagen en la base de datos, pero desafortunadamente no estoy insertando una imagen en la base de datos para solucionarlo, por favor ayúdenme, gracias.
Tabla de base de datos https://ibb.co/3sT7C2N
controlador
public function Add_slider(Request $request)
{
$this->validate($request, [
'select_image' => 'required'
]);
$content = new Sliders;
if($request->file('select_image')) {
$content->slider_image = Storage::disk('')->putFile('slider', $request->select_image);
}
$check = Sliders::create(
$request->only(['slider_image' => $content])
);
return back()
->with('success', 'Image Uploaded Successfully')
->with('path', $check);
}
2 respuestas
Debe hacerlo de la siguiente manera:
public function Add_slider(Request $request)
{
$this->validate($request, [
'select_image' => 'required'
]);
$image = $request->file('select_image');
$extension = $image->getClientOriginalExtension();
Storage::disk('public')->put($image->getFilename().'.'.$extension, File::get($image));
$content = new Sliders;
if($request->file('select_image'))
{
$content->slider_image = $image->getFilename().'.'.$extension;;
$content->save();
$check = Sliders::where('id', $content->id)->select('slider_image')->get();
return back()->with('success', 'Image Uploaded Successfully')->with('path',$check);
}
}
Y a la vista del archivo blade:
<img src="{{url($path[0]->slider_image)}}" alt="{{$path[0]->slider_image}}">
Esto devuelve solo el nombre de archivo:
Storage::disk('')->putFile('slider', $request->select_image);
Utilice esto en su lugar:
Sliders::create([
'slider_image' => $request->file('select_image')->get(),
]);
Asegúrese de que el tipo de columna de la base de datos sea binario / blob.
Preguntas relacionadas
Nuevas preguntas
laravel
Laravel es un marco web PHP gratuito y de código abierto, creado por Taylor Otwell y destinado al desarrollo de aplicaciones web siguiendo el patrón arquitectónico modelo-vista-controlador (MVC) y basado en Symfony. El código fuente de Laravel está alojado en GitHub y tiene licencia bajo los términos de la Licencia MIT.