Besoin d'aide ?

ajout image formulaire

  • Avatar de HugoLeuvrey
    Membre depuis :
    10/10/2019
    Messages :
    9

    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
    Membre depuis :
    07/04/2013
    Messages :
    2565

    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
    Membre depuis :
    10/10/2019
    Messages :
    9

    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.