Enregistrer et récuperer une image depuis la base de donnée

Fermé
imasho - 12 sept. 2015 à 14:58
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 12 sept. 2015 à 15:15
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 :)
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
12 sept. 2015 à 15:15
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.
0