Bossino's avatar

Cannot upload file in a database

Hello. I had a problem with storing the uploaded file on a database. I didn't store it in the database.

Controller

public function update(Request $request, $id)
    {
        $fileModel  = Attendance::where('attendance_id', $id)->first();

        if($request->file()) {
            $fileName = $request->file->getClientOriginalName();
            $filePath = $request->file('file')->storeAs('uploads', $fileName, 'public');

            $fileModel->name = $request->file->getClientOriginalName();
            $fileModel->file_path = '/storage/' . $filePath;
            $fileModel->attendance_id = $request->input('attendance_id');
            $fileModel->attendance_name = $request->input('name');
            $fileModel->save();

            return back()
            ->with('success','File has been uploaded.')
            ->with('file', $fileName);
        }
    }

Blade File

<div class="card-body">
                    <form method="POST" autocomplete="off" action="{{ route('attendance.update', $attendance->attendance_id) }}">
                        @method('PUT')
                        @csrf
                        
                        <div class="col-md-12">
                            <div class="col-md-6 offset-md-3">
                                <label class="text-center">Upload File Here:</label>
                                <input type="file" name="file" class="form-control" required>
                            </div>
                            <span class="help-block"></span>
                        </div>
                        <hr>
                        <div class="form-group">
                            <div class="text-center">
                                <button type="submit" class="btn btn-primary">
                                    Submit and Close Attendance
                                </button>
                            </div>
                        </div>
                    </form>
        </div>
0 likes
3 replies
jlrdw's avatar
jlrdw
Best Answer
Level 75

Use multi-part in form.

 enctype="multipart/form-data"
2 likes
Bossino's avatar

Thank you I forgot to put that one. I'll set your answer as the best one so others may find it too.

jlrdw's avatar

Thanks, hope it all works out.

1 like

Please or to participate in this conversation.