Bonjour,

Lors d'un upload d'image, il enregistre dans ma db le nom de l'image 2 fois
1 avec le bon nom, l'autre en fichier tmp

voici mon code

$this->validate($request, [
            'nom' =>'',
            'sousmenu_id'=>'',
            'photo' => '',
        ]);
        $evenement = new Evenement($request->input()) ;
        if($file = $request->hasFile('photo')) {

            $file = $request->file('photo') ;
            $destinationPath = public_path('/media/');
            $fileName = time().'.'.$file->getClientOriginalExtension();

            $file->move($destinationPath,$fileName);
            $evenement->photo = $fileName ;

        }
        $evenement->save();
<form action="{{ isset($evenement->id) ? route('updateEvenement',['id'=>$evenement->id]) : route('validEvenement') }}" method="post" enctype="multipart/form-data">

        <fieldset>
    <legend></legend>
        <div class="row">
            <div class="col">
                <label for="nom">Nom de l'évenement</label>
                <input type="text" id="nom" class="form-control validate" placeholder="Nom" name="nom" value="{{$evenement->nom or ''}}">
            </div>
</div>
        <div class="form-group">
            <label for="description">Description</label>
            <textarea class="form-control validate" id="description" rows="3" name="description" value="{{$evenement->description or ''}}">{{$evenement->description or ''}}</textarea>
        </div>

            <div class="col-auto my-1">
                <label class="mr-sm-2" for="inlineFormCustomSelect">Catégorie</label>
                <select class="custom-select mr-sm-2" id="inlineFormCustomSelect" name="sousmenu_id">
                    <option selected>Choisir...</option>
                @foreach($sousmenu as $sousmenu)
                    <!-- <option selected>Choose...</option>-->
                        <option value="{{$sousmenu->id or '' }}">{{$sousmenu->nom or ''}}</option>

                    @endforeach
                </select>
            </div>
        <div class="form-group">
            form_upload

            <label for="photo">Ajouter une image</label>
            <input type="file" name="photo" class="form-control-file" id="photo" value="{{$evenement->photo or ''}}">
        </div>

    <input type="hidden" name="id" value=""/>
        <input type='hidden' name='_token' value='{{ csrf_token() }}'/>
        <div class="">
            <button type="submit" class="btn btn-primary mb-2" name="action">Submit</button>
        </div>
</fieldset>
    </form>

comment ne plus avoir se fichier .tmp

Merci d'avance

Aucune réponse