Я новичок в ларавеле. Мне нужно загрузить изображение, и это изображение необходимо сохранить в базе данных, но оно не работает. Может ли кто-нибудь взглянуть на мою логику и понять, где я ошибаюсь?

StudentController.php

 public function store(Request $request)
    {
        $this->validateRequest();

        // Handle File Upload
        if($request->hasFile('cover_image')){
            // Get filename with the extension
            $filenameWithExt = $request->file('cover_image')->getClientOriginalName();
            // Get just filename
            $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
            // Get just ext
            $extension = $request->file('cover_image')->getClientOriginalExtension();
            // Filename to store
            $fileNameToStore= $filename.'_'.time().'.'.$extension;
            // Upload Image
            $path = $request->file('cover_image')->storeAs('public/cover_images', $fileNameToStore);

        } else {
            $fileNameToStore = 'noimage.jpg';
        }

        dd( $fileNameToStore);

        $student = new student();

         $student->cover_image = $fileNameToStore;

         $student->save();

        return redirect()->route('show')->with('response', 'Registered Successfully');                
    } 

Когда dd ($ fileNameToStore); он дает результат как "noimage.jpg"

create.blade.php

@extends('layouts.app')
@section('content')
<div class="container">
 {!! Form::open(['url' => 'student','method' => 'get', 'enctype' => 'multipart/form-data'])!!}

<div class="form-group">
   {{Form::file('cover_image')}}
</div>
  <button type="submit" class="btn btn-primary">Submit</button>
{!! Form::close() !!}

</div>
@endsection
1
dasun devinda 9 Окт 2019 в 13:34
Вы уверены, что метод формы - получить ?? Вы должны изменить его на публикацию
 – 
Ahmad Abo Zaid
9 Окт 2019 в 15:30

2 ответа

попробуйте этот код

$input = $request->all();
 if ($request->hasFile('cover_image')) {
                    $destinationPath = public_path().'/your path/';
                    $file = $request->cover_image;
                    $fileName = time() . '.'.$file->clientExtension();
                    $file->move($destinationPath, $fileName);
                    $input['image'] = $fileName;
                }

$student = new student();
$student ->create($input);
0
Vikas Katariya 9 Окт 2019 в 16:11
@extends('layouts.app')
@section('content')
<div class="container">
 {!! Form::open(['url' => 'student','method' => 'post', 'enctype' => 'multipart/form-data'])!!}

<div class="form-group">
   {{Form::file('cover_image')}}  //name = image
</div>
  <button type="submit" class="btn btn-primary">Submit</button>
{!! Form::close() !!}

</div>
@endsection
0
Vikas Katariya 9 Окт 2019 в 16:13