Besoin d'aide ?

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

  • Avatar de RodrigueWognin
    Membre depuis :
    08/10/2019
    Messages :
    1

    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 !

  • Avatar de kabeda
    Membre depuis :
    10/10/2017
    Messages :
    16

    Bonjour,

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

Vous ne pouvez pas répondre à ce sujet.