Besoin d'aide ?

Probleme avec upload en ajax

Avatar de lavarelkyi
lavarelkyi

Salut,

Je suis confronté à un souci depuis peu, j'essais d'uploader un fichier avec ajax en utilisant laravel mais je ne sais comment m'y prendre;

voici un peu le code du controller que j'ai eu à faire :

$albums = new Album;
            $albums->nom_album = $request->nom_album;
            $albums->nom_artiste = $request->nom_artiste;
            $albums->dat_sort_album=$request->dat_sort;
            $albums->status = $request->status;
            $imgalbum = $request->file('img_album');
            if($imgalbum){
                $image_full_name = time(). ' . ' .$imgalbum;
                $upload_path = config('images.path');
                $image_url = $upload_path.$image_full_name;
                $success = $imgalbum->move($upload_path,$image_full_name);
                if($success){
                    $albums->imgalbum =  $image_url;
                }
            }
            $albums->save();

Pour le code ajax le voici :

$('.form_create').submit(function(e){
        e.preventDefault();
       $.ajax({
           url: $route_storealb,
           method:'POST',
           dataType:'JSON',
           data:{
            '_token':$('input[name="_token"]').val(),
            'nom_artiste':$('.nom_artiste').val(),
            'nom_album':$('.nom_album').val(),
            'genr_album':$('.genr_album').val(),
            'dat_sort':$('.dat_sort').val(),
            'img_album':$('#img_album').val(), 
           }
       })
       .done(function(data){...})

Pour mon controller lorsque j'effectue un dd($request->file('img_album')) j'obtiens un null et quand je fais dd($request->img_album) j'obtient le chemin du fichier mais impossible d'appliquer la methode move pour deplacer le fichier, j'obtiens plutot cette erreure "Call to a member function move() on string"...

Merci de bien vouloir m'aider à resoudre ce problème ...

Posté il y a 1 an
Avatar de bestmomo
bestmomo

Salut,

Il y a pas mal d'exemples, comme celui-ci.

Posté il y a 1 an
Avatar de CinquièmeDimension
CinquièmeDimension

Salut !

Ca peut parraître con mais pour moi et pour plusieurs devs que je connais. Les appels AJAX en JQUERY ne fonctionnent jamais ou très mal. Du bon vieux JavaScript marche toujours mieux..

Posté il y a 1 an
Avatar de lavarelkyi
lavarelkyi

Salut,

Merci a vous BestMomo, effectivement cela resoud mon problème...

Posté il y a 1 an
Avatar de bestmomo
bestmomo

Salut,

Je suis surpris pour les aléas rencontrés avec JQuery. Mais c'est vrai qu'avec les navigateurs modernes on peut désormais se passer de JQuery pour la majorité des tâches. Mais les habitudes sont bien ancrées !

Posté il y a 1 an
Avatar de lavarelkyi
lavarelkyi

Salut, Effectivement, vous avez raison...

Posté il y a 1 an

Vous ne pouvez pas répondre à ce sujet.