Enregistrer et récuperer une image depuis la base de donnée
imasho
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Je travaille sur une application en JavaEE, avec JPA/ Hibernate , Spring et JsF ,
j'ai besoin d'enregistrer des images dans la base de données puis les afficher,
J'ai trouvé des solutions mais en enregistrant l'image directement dans la base de données (Type Blob), mais je trouve que c'est très coûteux en terme d'espaces mémoire et de temps de réponse de la base de données.
Pour cela j'aimerais savoir comment je pourrai enregistrer simplement le chemin d'accès à la base de données et d'afficher l'image depuis le chemin indiqué dans la BDD.
Merci bien à vous :)
Je travaille sur une application en JavaEE, avec JPA/ Hibernate , Spring et JsF ,
j'ai besoin d'enregistrer des images dans la base de données puis les afficher,
J'ai trouvé des solutions mais en enregistrant l'image directement dans la base de données (Type Blob), mais je trouve que c'est très coûteux en terme d'espaces mémoire et de temps de réponse de la base de données.
Pour cela j'aimerais savoir comment je pourrai enregistrer simplement le chemin d'accès à la base de données et d'afficher l'image depuis le chemin indiqué dans la BDD.
Merci bien à vous :)
A voir également:
- Enregistrer et récuperer une image depuis la base de donnée
- Audacity enregistrer son pc - Guide
- Recuperer message whatsapp supprimé - Guide
- Base de registre - Guide
- Comment recuperer une video sur youtube - Guide
- Comment enregistrer une conversation - Guide
1 réponse
Bonjour,
Admettons que tu ais un serveur de fichiers spécifique à ton application, accessible depuis ton serveur, par exemple /home/monAppli/ressources
Tu peux y mettre ton fichier /home/monAppli/ressources/images/img1.jpg
Dans ton serveur Java tu stockes (dans un fichier properties par exemple) la racine des ressources c'est à dire /home/monAppli/ressources/
Remarque : si tu gères plusieurs environnements, production et hors-production par exemple, cette valeur pourrait être différente.
Puis dans ta base de données, tu stockes juste le chemin d'accès entre la racine et le fichier que tu veux accéder, par exemple images/img1.jpg
Quand tu accèdes à l'image tu as juste à faire la concaténation des deux pour récupérer le fichier au bon endroit.
Admettons que tu ais un serveur de fichiers spécifique à ton application, accessible depuis ton serveur, par exemple /home/monAppli/ressources
Tu peux y mettre ton fichier /home/monAppli/ressources/images/img1.jpg
Dans ton serveur Java tu stockes (dans un fichier properties par exemple) la racine des ressources c'est à dire /home/monAppli/ressources/
Remarque : si tu gères plusieurs environnements, production et hors-production par exemple, cette valeur pourrait être différente.
Puis dans ta base de données, tu stockes juste le chemin d'accès entre la racine et le fichier que tu veux accéder, par exemple images/img1.jpg
Quand tu accèdes à l'image tu as juste à faire la concaténation des deux pour récupérer le fichier au bon endroit.