Besoin d'aide ?

Probleme avec upload en ajax

  • Avatar de lavarelkyi
    Membre depuis :
    20/12/2017
    Messages :
    111

    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 ...

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2524

    Salut,

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

  • Avatar de CinquièmeDimension
    Membre depuis :
    18/04/2019
    Messages :
    31

    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..

  • Avatar de lavarelkyi
    Membre depuis :
    20/12/2017
    Messages :
    111

    Salut,

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

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2524

    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 !

  • Avatar de lavarelkyi
    Membre depuis :
    20/12/2017
    Messages :
    111

    Salut,
    Effectivement, vous avez raison...

Vous ne pouvez pas répondre à ce sujet.