Загрузчик файлов дает ноль, когда я хочу отправить его в мою базу данных - PullRequest
0 голосов
/ 04 марта 2020

Я пытался сделать загрузчик файлов в laravel. Но когда я хочу отправить его в базу данных, он имеет нулевое значение, когда я отправляю его в контроллер. Я не знаю, где мне нужно go чтобы решить эту проблему.

Мой взгляд:

    <div class="container">
    <form method="POST" action="/admin/add-album/add">
        @csrf
        <label>Album name</label>
        <input type="text" name="album_name" class="form-control">
        <br>
        <input id="file-upload" type="file" name="album_picture" accept="image/*">
        <br>
        <input type="submit" name="submit" class="form-control">
    </form>
</div>

Мой контроллер:

 public function addAlbumDatabase(Request $request)
{
    request()->validate([
        'album_name' => ['required'],
    ]);

    $slug = $this->slugify(request('album_name'));
    $user = \Auth::user();
    dd($request->file('album_picture'));

    if ($files = $request->album_picture) {
        $destinationPath = 'public/images/';
        $profileImage = date('YmdHis') . "." . $files->getClientOriginalExtension();
        $files->move($destinationPath, $profileImage);
    } else {
        dd("mislukt om de image up te loaden");
    }

    Albums::create([
        'user_id' => $user->id,
        'album_name' => request('album_name'),
        'album_profile_picture' => $profileImage,
        'album_slug'=> $slug
    ]);

    return redirect('admin/add-album');
}

моя модель:

class Albums extends Model {
protected $fillable = [
    'user_id', 'album_name', 'album_profile_picture', 'album_slug'
];

}

1 Ответ

0 голосов
/ 04 марта 2020

Добавьте enctype="multipart/form-data" в ваше правило формы. Итак:

    <form method="POST" action="/admin/add-album/add" enctype="multipart/form-data">
...