Bonjour,

J'essai d'uploader une image vers une base de données (au format HTML) mais je n'y arrive pas.
Mon code fonctionne pour l'upload mais je récupère le fichier temporaire à la place de mon image.

Si quelqu'un peut m'apporter une solution à ce problème, merci d'avance

Concernant le code, j'utilise Silex (avec composants Symfony, notamment pour le formulaire) et Twig pour la vue.
Je pense que le soucis provient de mon contrôleur, il faut certainement ajouter une méthode mais je ne trouve pas de solution.

Mon contrôleur :

// Add a new commodity (Admin)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
$app->match('/admin/commodity/add', function(Request $request) use ($app) {
    $commodity = new Commodity();
    $commodityForm = $app['form.factory']->create(CommodityType::class, $commodity);
    $commodityForm->handleRequest($request);
    if ($commodityForm->isSubmitted() && $commodityForm->isValid()) {
        
        $directory = __DIR__.'/../web/images/upload';
        $file = $commodityForm['picture']->getData();
        $file->move($directory, $file->getClientOriginalName());  // ici, je récupère bien le bon fichier dans le répertoire souhaité
// ? comment récupérer le fichier uploader ds la bd à la place du fichier tmp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
        $app['dao.commodity']->update($commodity);  // ici, la méthode update insert les variables souhaitées dans ma base de donnée mais je récupère le fichier temporaire donc ko
        $app['session']->getFlashBag()->add('success', 'Le produit a été mis à jour sur la carte.');
    }
    return $app['twig']->render('commodity_form.html.twig', array(
        'title' => 'Ajout d\'un produit',
        'commodityForm' => $commodityForm->createView()));
})->bind('admin_commodity_add');
Concernant le reste du code, rien de particulier. J'utilise la méthode buildForm() de Symfony pour contruire mon formulaire avec pour l'image
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
->add('picture', FileType::class, array(
                'required' => true))
Je n'ai pas implémenter de contrainte pour le moment.

Merci d'avance pour vos retours.