Besoin d'aide ?

ajout image formulaire

Avatar de HugoLeuvrey
HugoLeuvrey

Bonjour,

Je souhaiterais ajouter une images depuis un formulaire, l'enregistrer dans mon dossier public/images et sauvegarder le nom dans ma BDD

voici mon code:

     $nom = request("nom");
              $naissance = request("naissance");
              $couleur = request("couleur");
              $caractere = request("caractere");
              $datecome = request("datecome");
              $path = basename ($request->image->store('images'));
              $image = InterventionImage::make ($request->image)->widen (500)->encode ();
              Storage::put ('thumbs/' . $path, $image);
           
              $chat = new Chat();
              $chat -> name = $nom;
              $chat -> naissance = $naissance;
              $chat -> couleur = $couleur;
              $chat -> caractere = $caractere;
              $chat -> arrive = $datecome;
              $chat -> image = $path;
             $chat -> save();

Mon code html pour l'image car le reste fonctionne:

<input type="file" name="image" id="image" value="">

ma config disk:

'default' => env('FILESYSTEM_DRIVER', 'public'),

'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],

    'public' => [
        'driver' => 'local',
        'root' => public_path(),
        'visibility' => 'public',
    ],

    's3' => [
        'driver' => 's3',
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'region' => env('AWS_DEFAULT_REGION'),
        'bucket' => env('AWS_BUCKET'),
        'url' => env('AWS_URL'),
    ],

],

];

et mes extensions:

namespace App\Http\Controllers; use App\Chat; use Illuminate\Http\Request; use App\Repositories\ImageRepository; use App\Models\Image; use Illuminate\Support\Facades\Storage; use Intervention\Image\Facades\Image as InterventionImage;

Si quelqu'un pouvais m'aider

Cdt

Avatar de bestmomo
bestmomo

Salut,

Quel est le problème exactement ?

Est-ce que tu a bien mis enctype="multipart/form-data" dans la balise form ?

Avatar de HugoLeuvrey
HugoLeuvrey

Merci bcp, c'etait ca le problème... j'avais oublie enctype="multipart/form-data"

le code si sa peut aider certain ( car j'ai essayer de chercher et modifier mon code)

        
              $chat = new Chat();
              $chat -> name = $nom;
              $chat -> naissance = $naissance;
              $chat -> couleur = $couleur;
              $chat -> caractere = $caractere;
              $chat -> arrive = $datecome;
           

              if($request->hasfile('image')){
                  $file = $request->file('image');
                  $extension = $file->getClientOriginalExtension();
                  $filename = time() . '.' . $extension;
                  $file->move('uploads/chat/', $filename);
                  $chat-> image = $filename;
               
              } else{
                  return $request;
                  $chat->image ='';
              }
             $chat -> save();
        
             return redirect('chats/');
    }

Vous ne pouvez pas répondre à ce sujet.