|
Re: Recuperation d'image en BD via Hibernate: msg#00036java.french.general
Suite a tes conseils, j'ai essaye de passer par un type Blob. Mais, chose etrange, le bean resultant de ma requete hibernate select v from Visual as v where v.visual_id = :id est null. Alors qu'il ne l'est pas quand je le cast en byte[]. Cependant j'ai fait un second test avec un byte[] : au lieu de faire une requete qui recupere tous les champs (cf requete plus haut), je fais une requete qui ne recupere que le champs "binary". Et la ca fonctionne... J'en deduis cela vient d'Hibernate. Aurais je homis qqchose dans mon fichier de mapping ? <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> <hibernate-mapping> <class name="test.Visual" table="visual"> <id name="visual_id" type="long"> <column name="visual_id" not-null="true"/> <generator class="identity"/> </id> <property name="visual_desc" type="string"/> <property name="ui_cible" type="integer"/> <property name="offer_id" type="long"> <column name="offer_id" not-null="true"/> </property> <property name="img" type="binary"/> </class> </hibernate-mapping> en tout cas dans mon fichier de conf hibernate j'ai bien mis : <property name="jdbc.use_streams_for_binary">true</property> merci d'avance ! On 7/14/05, Patrice Godard <patrice.godard@xxxxxxxxxxx> wrote: > Salut Laurent, > > Wednesday, July 13, 2005, 5:31:22 PM, tu disais: > > LD> Bonjour, > > LD> J'arrive à insérer une image gif dans ma BD via hibernate, mais > LD> lorsque je la récupere elle est mal encodée. > LD> Dans mon fichier de mapping j'utilise le type hibernate binary > LD> Dans mon bean java j'utilise le type byte[] > > LD> récuperer un byte[] me permettrait ensuite d'afficher l'image dans ma > LD> servlet via le code (testé et éprouvé) : > LD> byte[] buffer = monbean.getImage(); > LD> OutputStream o = response.getOutputStream(); > LD> o.write(buffer, 0, buffer.length); > LD> o.flush(); > LD> o.close(); > > LD> Comment faire pour récuperer l'image ? > LD> Est ce un pb d'encodage ? > > LD> J'ai suivi un peu la piste de l'encodage/decodage avec > LD> celui Hexadecimal de Jakarta Commons Codec (Hex.encode() et > LD> Hex.decode()), mais ca ne me sort pas l'image bien encodee... > > Je ne comprends pas bien. > Il manque le positionnement du content-type HTML dans ton code. > Moi je stocke mes images dans un BLOB et ça marche impec. > Ensuite je récupère un InputStream sur de Blob que j'envoie au > navigateur. > J'ai juste eu quelques pbs pour créer des Blob avec Hibernate et > Oracle mais je pense que je m'y suis mal pris. > Je stocke le nom du fichier, le type mime (que me donne l'objet > FileForm de Struts), et le flux binaire dans un blob. > > My 2 cents. > > Patrice > > -- > > >
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: struts et les sessions, Lam |
|---|---|
| Next by Date: | Re[2]: Recuperation d'image en BD via Hibernate, Patrice Godard |
| Previous by Thread: | Re: Recuperation d'image en BD via Hibernate, Patrice Godard |
| Next by Thread: | Re[2]: Recuperation d'image en BD via Hibernate, Patrice Godard |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |