IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Upload fichier image vers base SQL [3.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2018
    Messages : 2
    Par défaut Upload fichier image vers base SQL
    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.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2018
    Messages : 2
    Par défaut Sujet Résolu
    Solution trouvée...

    Il fallait ajouter la ligne de code suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $commodity->setPicture($file->getClientOriginalName()); juste avant $app['dao.commodity']->update($commodity);
    Ensuite j'ai bien récupérer mon image au format nom.ext et dans le code HTML il suffit ensuite de créer la balise <img chemin du fichier uploader {{nom du fichier}} />

    Sujet clos.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Upload fichier direct dans base SQL Server
    Par yuan dans le forum ASP
    Réponses: 1
    Dernier message: 25/02/2010, 18h53
  2. uploader un fichier dans une base SQL server
    Par Flamby38 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 25/09/2007, 17h16
  3. exporter contenu d'un fichier excel vers base mysql ?
    Par ouldfella dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/03/2007, 10h31
  4. depuis un fichier texte vers base oracle
    Par foulla002 dans le forum JDBC
    Réponses: 5
    Dernier message: 27/07/2006, 12h48
  5. [Debutant] [JSP/Servlet] Upload d'image vers le serveur
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 05/07/2005, 17h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo