Home > Back-end >  Returning null when i upload image Laravel 7
Returning null when i upload image Laravel 7

Time:11-22

I want to upload my photo, but when i check with dd() it will return null value.

dd($request->file('profile_image'));

enter image description here

but when i check with

dd($request->all());

enter image description here

My controller

public function update(Request $request)
    {
        $time_date = \Carbon\Carbon::now()->toDateTimeString();
        $user = Auth::user();
        dd($request->all());
        dd($request->file('profile_image'));
        if($user->role_id =='1'){
            if($request->hasFile('profile_image')){
                $file = $request->file('profile_image');
                $extension = $file->getClientOriginalExtension();
                $filename = $request->id.'.'.$extension;
                $file->move(public_path($file->getClientOriginalName()),public_path('user/'.$filename));
                $file->save();
            }
            $id = $request->input('id');
            $data_user = User::find($id);
            $data_user->id = $request->input('id');
            $data_user->nama_lengkap = $request->input('name');
            $data_user->email = $request->input('email');
            $data_user->password = $request->input('password');
            $data_user->gender = $request->input('gender');
            $data_user->last_modified_by = Auth::user()->nama_lengkap;
            $data_user->last_modified_time = $time_date;
            $data_user->save();

            return redirect('/indexadmin')->with('Berhasil Edit','Berhasil Edit');
        }
        elseif($user->role_id =='2'){
            return redirect('/indexuser');
        }
        
    }

My edit.blade.php

<form class="border-bottom" method="POST" action="{{ url('/update-user/') }}" enctype='multipart/form-data'>
            @method('PATCH')
            @csrf
            <div class="input-group mb-3">
                <div class="input-group-prepend">
                    <span class="input-group-text" id="basic-addon1">
                        <span class="fas fa-exclamation fa-fw"></span>
                    </span>
                </div>
                <input type="number" class="form-control @error('id') is-invalid @enderror" value="{{ $data_user->id }}" placeholder="Id" aria-label="Id" name="id" aria-describedby="basic-addon1">
                @error('id')
                <span class="invalid-feedback" role="alert">
                    <strong>{{ $message }}</strong>
                </span>
                @enderror
            </div>
            <div class="input-group mb-3">
                <div class="input-group-prepend">
                    <span class="input-group-text" id="basic-addon1">
                        <span class="fas fa-user fa-fw"></span>
                    </span>
                </div>
                <input type="text" class="form-control @error('name') is-invalid @enderror" value="{{ $data_user->nama_lengkap }}" placeholder="Name" aria-label="Name" name="name" aria-describedby="basic-addon1">
                @error('name')
                <span class="invalid-feedback" role="alert">
                    <strong>{{ $message }}</strong>
                </span>
                @enderror
            </div>
            <div class="input-group mb-3">
                <div class="input-group-prepend">
                    <span class="input-group-text" id="basic-addon1">
                        <span class="fas fa-envelope fa-fw"></span>
                    </span>
                </div>
                <input type="email" class="form-control @error('email') is-invalid @enderror" value="{{ $data_user->email }}" placeholder="Email" aria-label="Email" name="email" aria-describedby="basic-addon1">
                @error('email')
                <span class="invalid-feedback" role="alert">
                    <strong>{{ $message }}</strong>
                </span>
                @enderror
            </div>
            <div class="input-group mb-3">
                <div class="input-group-prepend">
                    <span class="input-group-text" id="basic-addon1">
                        <span class="fas fa-key fa-fw"></span>
                    </span>
                </div>
                <input type="password" class="form-control @error('password') is-invalid @enderror" value="{{ $data_user->password }}" placeholder="Password" aria-label="Password" name="password" aria-describedby="basic-addon1">
                @error('password')
                <span class="invalid-feedback" role="alert">
                    <strong>{{ $message }}</strong>
                </span>
                @enderror
            </div>
            <div class="input-group mb-3">
                <div class="input-group-prepend">
                    <span class="input-group-text" id="basic-addon1">
                        <span class="fas fa-mars-double fa-fw"></span>
                    </span>
                </div>
                <select class="form-control" name="gender">
                    <option value="{{ $data_user->gender }}">Laki-Laki</option>
                    <option value="{{ $data_user->gender }}">Perempuan</option>
                </select>
            </div>
            <div class="input-group mb-3">
                <input type="file" name="profil_image" id="profil_image" class="form-control">
            </div>
            <button type="adding" class="btn btn-outline-success btn-lg btn-block mt-3 mb-3">
                <div class="row">
                    <div class="col-2 text-left">
                        <span class="fas fa-arrow-circle-up">
                    </div>
                    <div class="col-8 text-center">
                        Save
                    </div>
                </div>
            </button>
        </form>
        <form action="/">
        <button type="adding" class="btn btn-outline-danger btn-lg btn-block mt-3 mb-3">
                <div class="row">
                    <div class="col-2 text-left">
                        <span class="fas fa-arrow-circle-down">
                    </div>
                    <div class="col-8 text-center">
                        Cancel
                    </div>
                </div>
        </button>
        </form>

Any Solution?

*the file not moving to public/user or storage/public.

CodePudding user response:

There is spelling mistake please correct it

as your dd($request->all()) shows your variable name is profil_image

Change

dd($request->file('profile_image');

To

dd($request->file('profil_image');

And in file saving code also change as below

 if($request->hasFile('profil_image')){
            $file = $request->file('profil_image');
            $extension = $file->getClientOriginalExtension();
            $filename = $request->id.'.'.$extension;
            $file->move(public_path($file->getClientOriginalName()),public_path('user/'.$filename));
            $file->save();
        }

CodePudding user response:

Try this

$file->move(public_path(public_path('user/'.$filename),$file->getClientOriginalName()));
  • Related