Envoi d'une image stockée en base à l'aide de JSP

ncottin Messages postés 17 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 4 février 2005 - 1 févr. 2005 à 19:08
olkain Messages postés 21 Date d'inscription lundi 19 mai 2008 Statut Membre Dernière intervention 30 mai 2010 - 30 mai 2010 à 15:56
Bonjour,

j'ai des images jpeg dans une base de données (stockées sous forme de byte[]).

Je souhaite en afficher une dans une page html :

Comment dois-je écrire "imgLoader.jsp" ?

Je récupère bien les données de l'image depuis la base (quand même !!).
J'ai déjà tenté de forcer le content-type de la réponse en "img/jpeg"
(ce qui me semble être un minimum) puis d'écrire les données de l'image,
mais le navigateur client indique une erreur (que je n'ai plus en tête).
J'ai aussi ajouté la taille des données dans le header de la réponse,
mais c'est toujours pareil.

Help !

-- Nath

2 réponses

ncottin Messages postés 17 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 4 février 2005
4 févr. 2005 à 12:38
C'est bon, j'ai réussi !

Pour vous aider sio vous rencontrez le même pb:


<%
byte[] data = ...;
response.setContentType("img/jpeg");
response.setContentLength(data.length);   // Optionnel
OutputStream os = response.getOutputStream();
os.write(data);
os.flush();
os.close();
%>



Il ne faut surtout pas passer par l'instance "out" de "PrintWriter"...
et penser à tirer la chasse avant de fermer la porte des toilettes
(flush et close).

-- Nath
0
olkain Messages postés 21 Date d'inscription lundi 19 mai 2008 Statut Membre Dernière intervention 30 mai 2010
30 mai 2010 à 15:56
Peux-tu stp nous envoyer un peut plus de détail sur ta réussite?

Je suis actuellement entrain de développer une galerie d'images en JSP et les images sont insérées en Blob dans bdd MySQL.

J'ai envoyer une requête :

ResultSet res= st.executeQuery("select data_img from photos where id_album=1");

Comment puis-je afficher l'image récupéré dans cette requête?


Rappel JSP :)

Si quelqu'un à une idée merci :)
0