Besoin d'aide ?

Upload d'image dans un dossier spécifique Laravel 5.8

Avatar de RodrigueWognin
RodrigueWognin

Salut à tous !

Je suis nouveau dans l'utilisation de Laravel et j'ai vraiment besoin de votre aide pour résoudre mon problème s'il vous plaît.

Mon projet est la création d'une application web de gestion de bien immobiliers.

En fait, j'ai créé un Storage nommé "owners" à l'aide du File Storage.

Mais lors de l'upload d'une image pour un propriétaire (owner) d'un bien immobilier, celle-ci est uploadée dans le dossier ''public'' ainsi que dans le dossier ''owner'' que j'ai créé dans le dossier ''public''.

En réalité, je voudrais que les images des propriétaires soeint toutes uploadées uniquement dans le dossier "owner" qui est un sous-dossier du dossier "public".

Voici ma fonction de mon Controller

public function store(Request $request)
{
    $this->validate($request,[
        'civility' => 'required',
        'firstname' => 'required',
        'lastname' => 'required',
        'cni_number' => 'required|unique:owners',
        'birth_date' => 'required',
        'birth_place' => 'required',
        'address' => 'required',
        'email' => 'required|unique:owners',
        'phone_number' => 'required|unique:owners',
        'image' => 'required|mimes:jpeg,bmp,png,jpg'
    ]);

    //Get form image
    $image = $request->file('image');
    $slug = str_slug($request->name);
    if (isset($image))
    {
        $currentDate = Carbon::now()->toDateString();
        $imagename = $slug.'-'.$currentDate.'-'.uniqid().'.'.$image->getClientOriginalExtension();

        //check owner disk exist
        if (!Storage::disk('public')->exists('owner'))
        {
            Storage::disk('public')->makeDirectory('owner');
        }
        //resize image for owner and upload
        $owner = Image::make($image)->resize(782,950)->save($imagename,90);
        Storage::disk('public')->put('owner/'.$imagename,$owner);
    }else{
        $imagename = "default.png";
    }

    //Verify existence
    $owner = new Owner();
    $owner->civility = $request->civility;
    $owner->firstname = $request->firstname;
    $owner->lastname = $request->lastname;
    $owner->slug = $slug;
    $owner->cni_number = $request->cni_number;
    $owner->birth_date = $request->birth_date;
    $owner->birth_place = $request->birth_place;
    $owner->address = $request->address;
    $owner->email = $request->email;
    $owner->phone_number = $request->phone_number;
    $owner->image = $imagename;
    $owner->save();

    Toastr::success('Le propriétaire a bien été ajouté !','Réussite');
    return redirect()->route('admin.owner.index');

}

Merci d'avance pour votre aide !

Posté il y a 1 an
Avatar de kabeda
kabeda

Bonjour,

Qu'est ce que tu as mis dans config/filesystems.php ?

Posté il y a 1 an

Vous ne pouvez pas répondre à ce sujet.