2017-05-08 1 views
0

Je rencontre des problèmes avec une application petite et triviale que j'ai créée pour m'aider à apprendre Symfony 3. L'application simple me permet de télécharger une image lorsque je crée un nouveau billet de blog. J'utilise la documentation de Symfony 3 pour apprendre à télécharger un fichier, et dans ce document, je suggère de renommer le fichier en un nom unique en utilisant la méthode de hachage md5() pour demander un nom étrange pour le fichier.Gestion des images enregistrées dans la base de données avec Symfony

Tout fonctionne jusqu'à ce que je souhaite afficher l'image dans le fichier index.html.twig. J'avais l'impression que je pouvais simplement utiliser la méthode asset() que j'utilisais pour importer bootstrap et d'autres fichiers affichables publiquement, puis ajouter simplement le nom du fichier à la fin de celui-ci. Mais rien ne semble fonctionner.

Voici quelques choses que j'ai essayées.

<img src="{{ asset('blog/images/') }}{{ blog.imageUrl }}"> 
<img src="{{ asset('blog/images/', { 'imageUrl': blog.imageUrl }) }}"> 
<img src="{{ asset('blog/images/' . blog.imageUrl) }} "> 

Et il y a probablement quelques combinaisons différentes que j'ai essayées mais que je peux me rappeler. Maintenant, j'ai depuis trouvé la documentation qui parle un peu de la méthode asset(), mais il n'y a rien là qui semble indiquer que vous pouvez l'utiliser et ensuite ajouter le nom du fichier à la fin de celui-ci, Et je n'ai pas trouvé toutes les informations qui me permettent de pointer directement vers les répertoires web, où le dossier blog/images vit maintenant. Donc, toute aide avec ce serait génial. Merci beaucoup.

+0

Quelle est la valeur de 'blog.imageUrl'? Avez-vous vérifié quel est le résultat HTML de votre code? Avez-vous essayé d'accéder à un exemple de fichier image directement via url dans le navigateur? –

Répondre

0

Ne connaissant pas le contenu de blog.imageUrl c'est difficile de savoir ce qui est attendu. Je pense pour la « bonne » réponse à votre question est que vous étiez très proche avec l'option n ° 3, mais dans la concaténation de chaîne brindille est fait en utilisant le symbole ~ et non .

Donc, dans votre cas, vous utilisez <img src="{{ asset('blog/images/' ~ blog.imageUrl) }}" />

Cordialement

0

la bonne réponse à votre question est le troisième mais vous devez faire inspecter élément et vérifier le résultat de et vérifiez votre résultat avec le chemin de l'image ne pas oublier que vous devez ajouter le type image dans votre tag img

0

Assurez-vous que le nouveau nom du fichier correspond au nom stocké dans la base de données. Cela et assurez-vous que le chemin que vous utilisez est correct.