Bonjour

Je mets en place un système d'upload d'images avec Dropzone.js

Dans ma vue j'ai

{!! Form::open(['route' => ['admin.media.upload', $album->id], 'class' => 'dropzone', 'id' => 'my-awesome-dropzone' ]) !!}
{!! Form::close() !!}

Dans mes routes j'ai

Route::post('media/file-upload/{id}', ['uses' => 'Admin\MediasController@upload', 'as' => 'admin.media.upload']);

Et enfin dans mon controller j'ai

public function upload($id, \Request $request)
{
    $infos = \Input::all();
    $directory = 'images/albums/';
    $filename =  \Input::file('file')->getClientOriginalName();

    \Input::file('file')->move($directory, $filename);

    \Debugbar::addMessage($infos, 'Image renvoyée');
    \Debugbar::addMessage($directory.$filename, 'infos image');
}

Le code est simplifié pour cause de test :)

Tout se passe bien. Dans le cadre dropzone, ma vignette s'affiche bien avec les infos (donc bonne réception et aucun bug) et les informations dans la debugbar sont correctes. En revanche dans mon repertoire je n'ai aucun fichier

2 réponses


arnich
Réponse acceptée

Bonjour,

Comment est fait le submit de ton form ? je ne vois pas de bouton.
Je crois qu'il faut préciser enctype="multipart/form-data" pour ton form. Si je me souviens bien cela se précise dans la fonction open.

Justement il n'y a aps de bouton submit :) En gros quand tu clique dans le formulaire tu ouvres une boite de selection d'image. ou un DnD d'images sur le formulaire, on voit le thumbnail qui progresse et a 100% la méthode upload est appelée (en tous les cas mon debugbar m'affiche bien les infos)

D'avoir rajouter le enctype fait que ca marche. Merci