Gravar Imagem na base de dados (Primefaces) RESOLVIDO

8 respostas Resolvido
programaçãojsfjavamysql
H

Alo gente tudo bem?

Ajuda por favor :’( estou tentado gravar uma imagem qualquer na base de dados

Ja investiguei e conclui que preciso de um atributo do tibo byte com anotacao @LOB que criara na base de dados um BLOB

Li sobre o fileupload e o metodo que devo implementar handledfileupload.

Consigo persistir na base de dados mas aparece um codigo gigantesco e estranho nao deveria sair um numer de baytes ou algo parecido? eu acho que ele nao esta mostrando a coisa correcta alguem pode me ajudar por favor.

Fileupload

<p:fileUpload
				fileUploadListener="#{eventoBean.handleFileUpload}" mode="advanced" 
				 dragDropSupport="true" 
				sizeLimit="100000" allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>

metodo usado pelo fileupload

public void handleFileUpload(FileUploadEvent event) throws IOException {

	try {

		Imagem imagem = new Imagem();

		UploadedFile file = event.getFile();
		byte[] content = event.getFile().getContents();

		imagem.setNomeArquivo(file.getFileName());
		imagem.setArquivo(content);

		new DAO<Imagem>(Imagem.class).adiciona(imagem);

		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
				event.getFile().getFileName() + " is uploaded.", null);
		FacesContext.getCurrentInstance().addMessage(null, message);

	} catch (Exception e) {
		// TODO: handle exception
		e.printStackTrace();
	}
}

Classe Imagem

package mz.co.mpteventos.springsecurity.model;
import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;

import javax.persistence.Lob;
@Entity

public class Imagem {

@Id

@GeneratedValue

private Integer id;
@Lob
private byte[] arquivo;

private String nomeArquivo;
public Integer getId() {
	return id;
}
public void setId(Integer id) {
	this.id = id;
}
public String getNomeArquivo() {
	return nomeArquivo;
}
public void setNomeArquivo(String nomeArquivo) {
	this.nomeArquivo = nomeArquivo;
}
public byte[] getArquivo() {
	return arquivo;
}
public void setArquivo(byte[] arquivo) {
	this.arquivo = arquivo;
}

}

Metodo adiciona da classe DAO

public class DAO<T> {

private final Class<T> classe;

public DAO(Class<T> classe) {
	this.classe = classe;
}

public void adiciona(T t) {

	// consegue a entity manager
	EntityManager em = new JPAUtil().getEntityManager();

	// abre transacao
	em.getTransaction().begin();

	// persiste o objeto
	em.persist(t);

	// commita a transacao
	em.getTransaction().commit();

	// fecha a entity manager
	em.close();
}

Resultado Mysql

mysql> select * from imagem;
±—±----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------±------------+
| id | arquivo | nomeArquivo |
±—±-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------±------------+
| 1 | GIF89au€ ÿÿÿ, u ÿŒ©Ëí£œ´ڋ³޼û†âH–扦êʶîÇòL×öçúÎ÷þ
Ëçôº<]w¬m³­PöXæ†øuhÇØè)9ɈGy‰™Y™ˆÔgÈà©fˆg¨yŠšªºÚhÉú
»Ê)[k›ú)kZø·{ëéû+<,;:³˜9Bü;v
8˱gIͶ×ëZ©¼Üí
²öm§m®äÜ0èÆ=îÞú1
mÊ]ÏwŽŸÏóΚÍ?OŸžtמ‰ãÇМ4­¥+‚¬Ãí"ÙËUјþ7x!2ä#Šq0fnb¯‡ѦÑ0ž¿qô4–ügÁ%yPò¹™çä:MBgŠôóÉ
GiEâµELu,‘xä醥 ûEý
ÂpP’ž
oºµÅ>ÒVŠo£aÇB}¤§ކ!ƗK
zD×.+ÔV†ÈÕ8|‹5HÜ=:7„€ϔx¡}W©×^
E–tãƒø"»±Ça”}]ÆOMúHãoáQ‰L•ÿÍ5˜xaLÿ™ûx]ÖÉ% 3¾³·rËÊ ßȸyè¤ö¦þ 0÷ê9pk‡}¹ôìç)ïþò‡tÏױO{τûëöîçÿKÄï€/€'sÃÝç_úA“à9R•˜ ŠÃɡyÄ[’=% ””w°ø&]vZÙSní×ݓ¢uH‘?úà?ˆÂáŠYxæ)£Œ} ¸§šèšå&ðܦI@Çڌ~$\Vž£Nn¡j&¦¥ZÕ&5S⨣“W:Ϟ̅jk„6úƒ"ØT®ę¦ÿ®¾ '’+ªž.®hj·Þã˜Ñfëæ{¼þÚ,´¨ñ¨3Ú«­/bË-f²öY.{œ+ì|ôzªéOq>{¤´¬† cRSRËغáÌgŠ‹m¸^Rµ?K0KªV)ޖíڥµ8^ež¥΁Œo6ú:;r³ÿÛgUàÎiÏ~èʼ«˜°ò'ìÉ÷‘û꼴ú*Ž£:÷KÈo•ž¬cÆ+ïìBbCíÍ&e©2j'ÓÒÚ\t¼$»쓊Ž-'ÎæË2°öÈä5[\/»­Òêoè¬óÃRGzbÁ(;á²ϡ(ûeÙ ÿŒ3m–Ì7è¹¹ÙÕJõ .¤‚“="Ǡ]úù²hW.é“Ùœ™%۲ÆNÝwΓ7.ñ‡¿ˆl&nåw¦W‡»jdŠà®TS¾ÅóÓQ/½¹ѳihðo|¯åÿe¡õâWý÷y¹þè³ÿ5¾óÜüAªO?ûµߏ—üé÷:‹ÿ#@µ$p€>¸—ì€À¬,0,dàx½Zý‹ eøµVð‚ü ?E2öì„,l¡
˜Aڝ „.¬aZB¶¾Â%$F”$e¹nÅÁ±¡k0׿j8e‰Ll¢µÉyŽkœreÿ>:Ù ƒ9$ÅÆ0ŠqŒËÐâCØEÙÐЈ€›Yä F›©qŽðZ[×ø–D²q‹َ‡j¯pìâ£!mó
ív5Ë@“W[SR¯Û\í>7²Ñå¬òPÙϺMê¬Ã%n«ÁÕêÏ43U šèäSýÖׄÿ•o€we¿çaqk‘êX=ûK¼øšw¾ú\p´S¯ÌÍ驊3ee5œÚçÃTMٿ–஍±(ÞÐy|>¾¶4U÷˜BìÙó+u»0)ÄZ!ßlÆ܍°ŽÇKÜò¦x¹[dqœ<å VEŽ&–=ôä,ǠÁ¡Õ-„f1WoËC†l‡¿É'OQͷeó’Å]8Ǚ@$ž«/eeW-_ )ðÐ,]æV¬U0kÏû̉V´ØTÙSµiîsq¤¶;1jìt-ôÚC‘r[Mô2ØٵåVSŸ£Äu"®×)o¶al(eÙßplé;ï=ÕGæV0‚͂ë¡ðÙÚ;ĜMâÏµ‘àൗó­ï‹ý2CXõ^®^ñ21üԬJuWšÖeGNzÉn~xµBJŠó׬ÉEiˑúêŽø½/W÷䞐lB–<6Vþ5Gâiÿ³S(åö«i^U„Cñ¸GÞG½|ï7א+çRC½Nê€Tãe˜ÐcWlzE§ëe·<!þaK†׋~†¶Wó*~§;qåØÎkÁMeâ¢ÌMWÙúÀ?utï|_lÞ]hkÞøì6L³}þžª¾£íðǠüg$¿i5Ç-ð€jñÉ-/f2ÛØÌy¶f»Gvyc1”ð}›¿b¤òµ7=×Á‘évÒß1óFÌù¯a_ú–âõiǚÙiGûÕ^ ¾¿iȽíQÀ¸óø˯òbìóž¼À½;€AO!eŠsX¼®@Æóbɵ꺞!›ÇçÛ=úñoþï{­çS̗'¨ӢèÐÃzje ~ÝGvSV}lâMIço¸_1vŠ!%x³PþT€!óu¬—z#ghÀ‡oÃ8/–3•²kúWyÇÕv™sOèôj.¥àÇ|OWv.X=Ñw$«‚‚È2³’ë§Z@gjt¥8ÿ&b³45‡——x¿ǁR’|LwVí2s=6.G]=#TGUTÍÀOý‚+8UÓò~0hcKhr7õ6»æ51%‚Vx>ˆ
o׆;ÖPגôÇQ}æph¦ŠG†é‡æga@fFöGlb÷Ur
W
¸–ˆZ¤SûyµäBðÇ8¸‰Ö>áçxba4ŊXML‚Ëf(ƒR~$H?(k³H€}¨xò÷€U6x>ku‹dEŒ8—‹ÖŒ ŒïÃ?ß7)À‹¥óŒ¶ Cxw¥¸ÐަՍÖx8u?y»S6ŽàøH‚~ïHL¡öz®ø€çקŠëxK¨„͸p§zþèZ˜‰ôȎñH>¼C*9níØWøèŒ©Ysó5zh¿–Œæèy¤u}›7sú˜ŽâdX¹p$ye¢¨*ùwöøz.™yv)åg( y0Ir2¹ ¹AGe*£“ð F “ƒ†:ÿ>{¡èU2¶‘vsÚu”ٔ”J‰o3} ¨’¥¦“Ê&ZÒP Vùf[ÙZ]é‡C™>dY“jIŽE)•hyÙ@Ñø”€æˆ$7•è –éG“'æ–敗ö‹}¹‰„Icޘò‡mXHxr©@tY——O‰©‰“ù*ÉJ{™lY–˜ˆ—Š©\)u?fc˜)){Ÿxz•Ywʆ%°Òi~G•Îšë59¾Fˆ´6@wé†êµj§µegz܇]‘~IH›ª 4E8&#8wÝƚ½ù!ü¨ í;ÃIœ„4Çùik6›Pɜ&¹T€÷C„8Ž i¦U\Å~Ÿ5Œî({ÿ.&h^gq@ø–9†!§Nh3D–žš© vsðaOjÒyߩp¥¢5ž8‡t5‰³\6wÈyÊYmü 5Š’#ý™›O€ÆY>Žwª(Â!‰I ؗUµØU‘¨a¤ˆ‹+ ¢î V–ž­ˆºuBùjЉfjt(×fV$æˆڠãÔT­8~å¨rQª¯cVBf©s=ښÉC =i:‡¨HaƒQ€º ˜¦Št1:‰hE£š©é›^ɥ¹œ™@’nczUi¢ŸãSn3tÓ4€ß|näXڜUŠ{ði¦)†|_zgEJŸ³r0:¤˜zNÿ•£Ñi¨-ڤ"Eƒùg¡̴%&öh‘š‰žzdjGX”ŠBÀ ¢§ŠNÏé‰Oww'Ê"S¥ð¢¨’E%Huß%Ê«¥9“Ôb×Äu dŸ‰5Wh¥AI¡Sz¤š(}Z§g¹1ùµc¤I?$Z¢²z˜ÈJœ5‚Ɣ:ª÷ÀT¡DjdzJ”ì*©‚*Nðªmò £¢ÜIøʍÖڪüŠƒrÊ>(êz¢8ê¨q۝–*µ©hW *qAJ½ìE½¯û„ÿ>8Y®§ºhqrÃ9㻱Bškœ&¸×é(,Š›Kaïû.Ӣj¡«˜û:cܿü»3¬eÁ
¸¡y†ÓZ¼A÷u¾j½°e»3c_ÚË,(‹cdh®D¹r’sÅPq‹¶qFÂÉH­ØlÕ×V䛕ÚØÀ û¼^ƕ8œ¡:¼¨ÔÃ+¶r¿û¬ËG:˜ —>ç™õ‹½« ÀVÛYZŶ¦ŸHÌÄÄ_ŒM›[@‡³yel¾^®8»zÙƫDÆ’+°,X¸•ˆO7¬Ùi´[Üzôk§£Z~,¢ð‹4š}b¦©A¸ÒÖŕÁë•åÖ(2}ÿ‡¾T™rÈBÿx̴$ µõÈ9‘ü6É5V?œ—yt«¸^•—šxeʬêÅy㜱uÊ.ì[µ¶¼a,žûÀ É\ˆŒW’kÌkE—0’<6
c|<¢¼¯Ýä̀(s‡Øk7‚‘ÁŸI\·Ó<¶Ìاeºm
5½QyMÍæÍ[ª¼[áž|Zµ´ðaU·̷û£Òëce‹ÈnÜÎûÎD»´­¶},ÅÚgÂ×Ïþ–©î*RìÍ »µù ¡ÍÉRÕÏî‡\÷L›v»s~¤ Ì=˓‡µ´js¥;©ÛF H‚mX'‰£†©o§ÀB 4âL»©+Ì5hm:.ŠúTÈvÿ¬z´j–RÏkâv®ÓûÃÓß,§Š[Èꫛïô‹éÚz¹½›&»IÍYL”G,¼‡
)h뢻×"êæ4¡؊¡h8ºF7ΰx°d]¿–bªVh“ôúSŒIÒ2Ѝ¤ï®ii{OÍÀ3A&=ˆִ֚ûʃ\„-kºaݳØèÇR‚Iݏ
]L«,¡‰»È)‹•+lv©=ڙ»Ù.y膦àèșIڪ\­¿°Œ­»̔ 87¯­‹xÝÓIéZÅCØUÂq½ѽˆ?ç]CUÂp’Üx
Oƒ+ÞK”™¢ÇëÊØé”ݰÉÔÿ«•­ˆË&µ¹‰Þ;XÁ
ÎD\ÛyۼkdŠݥúÍJUüm”r÷s/¥qËÖהy,н£±÷͗+ÙZéºÿÍ\Ç{’¡ÚosM¤tmÍ&ݦ\¹k‘(«·âÜLҦӫ1Ýö&á24ºÈDŽú±H}á(lÎ-#ïËL¾ÿl¯STÍR}ä,ÖAþ¿C~4à„&|˜&™Kµ”ÕäùÉʤ?ž¨Hދ‘˜±¨:8L¥ 5~)¼Lî§ [Sþ:ªY‰Á¬|,öuMã þIS̛]M$€®ћ̔­Èö½³àÄ]¾9Ù¾äF»{þÙhÿ*ZÃcéE;Ì%2µYΈˆnæéÈءql«ܾõƉìæ!çTœ½Þ®}¶þÚË8;‰e¨êÞþê³ìaë=-ša×Cmh¥ҭ²žnµÃŒ]\֚´tòvŸ”LÕìÙê;]êYìRͽÑD +óßcû¼^x£®#ÝqMçŸò­Jo‰½îùN^ÞEe„žôOXäuÄnBOѱëj!>zà ¼Èɋ¨²L §.’¼Udo—fo¬:Â׌>¸{Œܔ=ñH)~xÚ˚ûˆÜQêÎãƧ·@"_ñÒ.ëÒðA=ÁÜ{š_¨þ½o.1øþÞÿ× Vt'H½ïvŸÅFš7¹I„ k99JÚWعÓy;ä­õw<wC®<|½Êú:B¦÷žWd–”—u¦Ü#wþE ´ÄmX ÙÀ›ЇB¸€ûÜtëТĉÃlyه‘ŸA†<¤µ»'nä+“) .Œ„,^E[ª:ú³©ï¢ÍUu†Dǒ䴅?­·Òh‡³IÔ&“&MÃl¬䔣ÆlI! 5Yí'˥\·ŒÝFLêͨV,†<Ëó$17¦{¬ŠYL€Mé7o&À8ûbµ‚çMʼnkjUµ· àÀ*ÏÅP7Yòä_™eÌx+XO•ðÂ2dZ3ßÊ|#—þ‹45 ?©½ÿÛCÃ6t¢:€Q¬½X3ñD¥X#½™¾sè%j|„ÑìaŽƼ ¬ë¤Åâ⯻\Àç!€PB/ E’Éъ$ëHk͛ctÂ*±Ìê<+G”¿åÚ4æHkά)L1) ¸8ŠŠªž†T3,SDpK® |ª(»Œ{¨?Mt¦©JYÌN@§ôͻ2ÝåC*‹’ԟ(EiÔ(;|U'S=Ì,)ߚ&£IÏþBÍÒ6H$²ФI¯ŸX5jQ¾*¡4õšSC;ÖØIµóˆ"|„ íÙYkµ5M\Ÿ2ҔÖØìLeT”=ŒÕbÅwØrÃ,¶Sp½‘Lv%œ½:K„Ã]µLT
ޅ—5yg¤·I‚KTxBL۩ªށWܔáFÙ|¸%žàŠ-¦tÞk±íXáA=æòb€/;‘d‚M>YהCn«>˜jÙæuV9csfgcF„¬xç™u¬ñçÍCCOîµd™eœkåѶ’î孳¾ZjkiF:ie9{«­¶ZÝzÀyj´«.ÛFtôta úPNZ¶þìém‚uï
åF Mî[v‚#5ªiƒs´b‘Xžûѱ\VNT—”q#l$äFµÆðed9o6ˆv-»¾ÝvüQËQʚYZe~¾¼G–c¦]5Œ^Uc¥ìîÈǟ«ÝŽ_³tðªÏ<qSK#,}¬QgqrçœHí+œg9Š]üÐE¤YáéKv»˜Lœ
¨÷M€›ã^ ((9M€v ‹á8·Êow4^µ²ç/аNžCá(ZÄAíp
ÁŠáHzÄAëÁp†9üãVÁ+ùP‡A¤ÿ ÅD®OˆI¼Ž¸š)QqäXÉå<—11S_ò÷
9ïqÎ[TTK¸¨Î’¥ZK1âcÄøpËc%±
Ô×±ç>^nOb<ÆâlY¦Ÿ“N
9&,5å˜ÑÙñc¸tæ / •T>¯Ó[‚@i˜gqsu°,#5×NŐ³u”ìa!þ§yM9 (^ጢ™¢¾<1TtRh8B¸–½Y锕<g9ù5Ñ~Ç(¥™c®2‚3càٔ†Hq ˆOêO‹2‹ ASԜM§:ç͞©Êɛ¡zg=—УâJšIÍMîæãҟîoªkàùhê»_eu8Õj4– ´\½ôGžòßX³©¼“þ©GmCd¾ÀŠ.´rj3ƂF3™êÓ1)Ð?šS]Ëú=Ly”4aT–ŸºÎ=ôKœ_J5ÉY=ê&€K‚üÕBÛD°JŽÝVCSyAdUQ~ˆE’þˆþ¢Ùuz֊¸ÝiwiØ×H±c2-DÚnüéկtсø¹Ù⍇ŽWÏ?÷ùW
µiSåe¡-yYµ]ê¶ÅíÎÊ:8օ”ºE”î}ðC±Û}5r&¦e½FTj÷³’ý\÷È#kfºí{q&àë¾Ҧû±ßþTuHÍuQ+åcŒ=|ÀO¦qˆç
ðzÙkÝÿek¸«°¨°eޔÄf³N,½aÕ2”,”aa-
|¯“7<ËC¾n™þN£§(éï m‡{Þϫä<ë[g£>!³7¥îiÏxß~ٿE£ê{oӟ>ø4„}º‰O{͟÷ì%H>‹ßêy+»ù׿n‡ÚŸÅyþhÕ?ÈõûÃî˜?õkð¾è́ں5^ü?¦N¯þ¼Åò½¯ÌWܫ8žÿø‡5´¬‡DÇíÜîDi°Ð,#2kÿþÏܲëpžȕ̮›rçïéøH¾†ÀÎäHŚ–/ߨû˜‹o ¯óÎÆÕbè¢ætŠM­àôš‹Š¶ÜzÉZ-a›‚ay٭ìRöŒØÆ͒WEíOnµÜÑ v}¥
YúĸO簝cP}ï{§ ӢÑexz‡Á†N–«ª|‚ʆ¬Oò¤­8j«æ‚ ûC éKΞnéj¤jïÚÞë~0xþÿHÂyN‹F"#×ðýڙ˜q¬ìx»$¦¬%Ð:ÈïeñïÌìL¸"0üv+Ç@·Òї¼ñ¶èOo6)oÆQÁާÀp+õqcȭَñ۪°«L.!PÞØÿ2´Ú0¬¯ç,R!mŽâ›ò!úò#
U&aÆ!ßX)MäëöËå, ˜r#ƒŽ¤¢îRþЁ¸ŒÂZ,ÛñÄlOŸ§R¥ܭ"ìË!ÒMÈjø@r;2u y ¸@Ä ‘Ïÿ§³lëìí”ÒÐͼP˯-éÆ
UD S3­߈Ë;8#—›Œ0uÚ(Ï$1žjŽªBðL¡l¿†R“ïIuô!ѕ(‘mæJ<)TÜÒLTaU,=3±<c©PUó Cq7áâN-(3ՏaÖ<mÒ7Iõ½²]”.T›g
¬-ßIÈæqä²èWÉpªÿS¡œocݬc?"¬ $ÏøÁ?IN5¦¨"ë n¯/ÈZ;_ʐá*–ÇhÖTùÍ\9Vô-ÉÔÇ3°T%çYۦZÿæ\´ˆtìÌùµY¢nDa´‡֪"V;ñpðnVkú”’d_ËS//(U UãÓg' EÉô͇OÔMKuë¼bfOÓkíjqVJc³®ŽV±"j1c¥ÉIG_Ín_•ë“>o”ýµ?3„K—HûÈÕjK—‡l'pŒ®@µ·„£s!.v“5°vu5h÷0ìH·ôÒX÷A¹æus¯wIorï6z¡õϦ—åª×ÿ×õ­– Ÿìz%—xA4]-‘¡z!oäHeð%³V7EðtdW§¸·vM0áJ'(Éãþ®ñn‡ëyWUyÓ Ast󈧒ì@I´é,¯TC$®Ɨ€?³€Ç#»7tCÑL+,Ãс'‚]£V풂7þ.xü–µûv1}ɰ–ètË:xºK/nu{¶².V0SoÁé[Ͱ(Õ,Yí7‘jbѓ±îuѪ) *ê¼ì"Ì+–Õò6uS“bñÕ<±KÃO븻?ûÃI;}¶ÍÄQiÅkØÁ}Ҕ2V/¨[\lÆ!¾ßè©ëo‡s,¡¿U4A{z1ÜÃíXpƒœz‡ܨ7Ú)A™¾hAô"¹¼Ùڲ^d½cô±ü„Ù;UÜʍ-şü¨·¼îðì²×@E¼Ÿœ«5=TIòjNeX±_<¢íM%ÙÉ^{µc»¡?—Cÿwi­C)3¥õÜàf-¶üœŒG‰»eÎ!~O¹é¸h;ÁÎüࢶJ½DÒçv•1MX Ç15ýGé_+œ\:”ӆÕ'׫;ÊÁSò04keܒk–»Yì-XˆÎÜy¡œq 1s•Øl!ÈöÓ=Ů¢ªýî}MëŽ;ãêËi݀Çj„žhøÐÿQïzŒÎùœ1PÀiÖÐ@¹ÛI×ͣ´Ä99Ãǰ„£Rï=eÝMü}sƒ4Kmü‰Eb4æÄqjᪿÍÿ½áÿËà]üá/Zà|í&ž·²¨³\Ù-ãé]x¤‘ÜcÑ<ä³wŠÿ*þ"™W[ÙOã!hŠFޞëý=S^„“™Óvæ‰[ŸQ¿­}¼™BùW&»“YɼÈ7W–(ŒÛ3þEם”n‘mO҈žæ»2ÐöÍ='åag÷õ©~¡KÔëgÊW\äúҝxÍíàÇùîá»ֈ@#¾âùaQÐ=rëמ"’GÐb\¸‘néX„¿è‰x)ïªÔâïð‰ž¹÷·Y¿Ü4¯ññð®Á™«~=iÑÎSî†5Ÿx¹~åï¡ç»ËùpI¿òHT¼±xj2NìÏÌã6îˁd»Öþ2½u1÷G?I7ԜæóÖUçï{ø©²úþ1K5 ŸQÒ<À‹?g+úú!žç{^€Á?öÏïû8 Ãzýþ¢e´ë_ǫ_?ÇC]ç?èÕߋîÿä >¦.34ŒrÒêÀ³zóî?Šさ˜١)Jº/ÔÂê\»²ë;ßsø*ó[p¾£Ĉ\2'Ê&4*•‰*ëszÌ&R®« ‚âع!³۳jù‹»oqºi­N×yôÀ•œ^_¡¡“W‡" ßáK c¡ÜcÏ_ †¤%g!Üæ Ð_ç¥Yh©^æê+잨à†àh,¢édãi^¢Œïd#î•nÉî Ë0áïqqôÛsªì,´tÒfÐõCs£w¸8/ÿy¶^²0²òð\û­y¼&5¶µ²|)š-s;8¹o8|5¸Í2îß7õ2tpœ†hu)˜ŽW'ÊIApH#ËvÁëhòž°jžԧ‹%G‹l”©®"%%ý əñ'60¿@Ҽøá–J?%í Sé.c"MöÜÔ^z(î|ÒU'ؠ|DZ´:Ì,É<¡Be
ö·‡~3
@a
‡\˜Ë5¶Q–ˆ¡%bÖU²âU=ñ7Z‰¤œèYŠý½DŒE тz÷‚" øŸ‘FbudŽLìHB¸ŒO"5Ž–& „~LŽ“š–2F¹ÔðUi%aöSΛqi¦Ž’ÀáQôçгsï\µuæػhNž|òyOÅo?uÞåûøҟ[ÞZ*·ß!^7E°,14ÈW}óÙW~ ¥“ríE#€÷´Gـ–8с%xSY [j²Å곬±*øëbњ7-$Õ*·¶3~¦JT‹âËh‹€6m–ðV&¯z¹Ö+pyï"ÜÁõÑë%µ’¸°q·žz-ÄW§qw#«0PR<1Ǹylîm—lÄ+ËÕ0ËÀéÚrŸ »ÌÐÉåҵiˆLÝĭÜlNÎÞÊð®bBs6¨h{ñ¹C{3†š-´ŽNwܕ¯BMªÔ}½sÊþsÊO«•µÛ\·´âuØÔv³]f¡“{ԍF¦ÉwïzpY3w>ûY{ôR~ÿhدЉOÛX3^dM$Î
Œ:ÛµIˆJ\hI’cSF¦³w!%?¨KFîT>Eý))³œ®æ¨ïq
Rs€ӡ^2¡v„gT1§ԪutfXEU³ŠœÖȫ/„ªX§ÑIE–[_íXXÓꚵæRœL ãJԍæõ­H-à)JC¾Z­ÒèZ-ù%ׁUX³SÙט!Óø R9‹•jcCØ֌y“ªçþ©¬b/»
ÌJӰl¸ãÚÁ¬.I±ÔxR¡ôúWÒ~T°ƒ”á^ŒÆ>Ùfæ{¢¬2“Ç©p{¨óTPY¶”õσþ~s :©D®‘Ð1UÊ&• fÎQ}¦[Ðì|µ—ÿ°l\¸Æ @”Î0ø¤e0ǸM«u“ŽÇDŒ¦ôé»e¤è"±8}êï Ø -ÕÓ@Yòe©0OFԖ¼pUz
y®ª­po ҥ·~£4d8WÊÐå_ÍÝ×ÎÔåW-¶ŠՅàLóˆ%í’Æ2æto@ÏéÁ€ү Öä­-ËÛÅóv¦YûN¯pÕO´üÜe¿;)Ø&ê±Ñ}õfÚ=¶£ªeç0ÓÕҁúó‚hg5«a¿¶§Èè9³=Ò7m‘¯!•‡±H ÉS'†psTYøMøÆóàðR=«Óñf§Ç>6¹ÊTÈᗲM>²t#l¸'‹Ê%ÿ2”—×Ï w7x%4r–ӛXÍ Yt2f0"ãiå0#y¤d¶kq$A2¬™;
3›‡Ê*z6±åҍÌü¼Jù³„sžáH[4ÃcÄ׬\n¯‰PÍ·uF¯€»œh;÷͂NeÀ«­I“éÂGBíÚF¦àMkÕÍ(<süB}áƒÞ°ÂA±¬°œU²²;οETªA¥Öô›iÃlÞø~¼¤â;×èž_°þ•·x]Úg¦†#ÍaŒvÀäx‹ù“QÁúá“r±e[q‹gڔÿ°‡?_˜ø¢4¾.÷,¸r=ʓ6/4qª&tðk9Ÿñ_œyt›Çܙºt´ÉýUí>¥-KÊ(|¨ï:ˆeëèî9Ÿ«‡¿a²Ë>ëοîëºR% <yp\È«èQúØ>âÉe{‚©¥‡2]Ţ³/Ðîw?œº+é5þǀn7õ>é&¾x¾uOû´Á¾ߋ0þ—ö}|W?ZÖÝB³Žg=ü4¿î˜p(çÏÒ퟿ÙöBô˜WV<øÀ¦«õ°¢N©Éâù½±’(à^8ò[þ½åXʹ0ô7Ï×.ì¡0špωò÷gx–%ùJû3•3~{J_ɐ»ׇ{¶}n!ƇíZ÷‰ƒ¶ô_•®ӧ¿w7ÿ Ã}‹IS¸ôŸ$í^؛’8_õ]ùŒ¼IM¹ϸ¡†þ‰-ÀÈS,^(ٖ6-Zû­pŠ´‰F²¡Ž“lRÊáŽÿU4‰˜»OUù‘òmƒ­HF)„U$[ž Z¤pyߝAíȚT»äãH Œ5Ÿ¸_˝ë½Ö©Mv=×ç€EºMMÑK¾ˆWFuÏG<HÝ Iô!èM‘X"†’¯˜þáçuᾤ ŽSҽWÝåQϖ!!JPjà—‰ß<ùٞxžä)b¾µ†‡Æա/ES¤^!ºGõ!ȁbÓYTeè9Ž‹P!¢áö­Œ6¢;ý]÷tÉzUßp"쉕PŽD½ p]|"ҁ±È½©ÒB•‹Ûðô‘ߪñ$«ñ#EΆ5HB#BN¤yq† &Îr%õdIޜIM&7ÎBáäøQ È:®Ö.ªâžä᱂ šæÜc–1,žJ9þcõe{ ÉÜmÚa=6MQq×4™Cfà±ã°I!¢]@&ZBWwÍðAÿæÝå´"ê “Pƒ4¡""-8eßüßòõäöLA 2Æ^¦5žPEÄ}Ñaøp¥'Mแ%µZöà %*åõi£~cºeÒYˆ-™ ÞS*©~¢Ai^}„˜p۪¹Çôd#l‘¡HVU&¦¨±Ë$J£î&õ‘ .!3¶&©洨ž"éãJÆ%ö1Þ!k}¦]Ê$ ÂÛVŽ4ÿuf§iÎÄi Q±ýÞ<¡<~¥¢ýÅÁ¦¨ÉY¥ȄޘgžãÀ˜âpžb¿‰c|m؀ÁÎiö’5)W/yž‘ע§ÿ¸XEr]9 Þq{Þ%ÓÕ\‡#Ý( ¦ô¼¢Îý—h'Ü \Œ_›¥u¥Τ¦.ZT9½gÒÜ|Æç¿õ‹»Ԕm֟«½ZJŠ P.Y>n•\ì ™1¨\úfs¢Y Ÿ‡ Š—¨I_²%v­(§5œhZD Ÿʆž› †N”Ú n¢ä fe_®–[îfáe)›u)uá“ãÍ&Zbf©’m)¶¨ÿÙg!nh[Ù_ê™é‡ȩüíg]ÞdqþK}ÜVêê„֠
ß핿xêcZ¢¤2¥žš_HîR9²ŸZdÕjËñf¥®ʩ¢
vzڦŚü¥¹Ѧ«îMíÝ*ÝMY@&†
h²Õfô
§¦+—!gvànŠèY+ơ¯¢b+Õ֒¥~j-ºˆ íÝ$x>b’nkáoºÒú L€ùb+íjÅ(ª®Bk´²0v^2>šô\«ãثKZ ^LIL^µºa:FQ¦v‘nŠꢄӬ˜‹îäa)&˜ҹ'¬.deÿÎ#8í%·à]Â)o<ln®ªeN'¡¢ң¬t¡ -(|:šú ¨¬W˜V˜2†Ã~(ï쾮ŸÁÖ%­MäëUéˆƧ‚Ò\«ÚÏèuTzkz:ɘÖ¾ºhVJl‚†rBæ‰~áÆc ÌΉb®@´؄?öTÐ:+άI]Bߔh١ªßAöWöÙo™ìN í³êëŸ RÖ2â .ïì­Òí!ьä®Ô8îÐö)ÚùéÀå*³A®Nqî>Š븲‰èÙØ0šåR¿jaMv¬éZ–ýZê"-¹NáOþ'ãî)ìä5ëèÎM? 'ç(“žÔäÿº†=§î®+’nޮUÂ(/u¥7ÕCDFltQ¨öFîîl ‚æêFiª—TÆbLöèçþ’«B›ebDi=$_Ñgxrdúҩo®âÊT/òS±É/wk¨k“ïþqmòvîÄR,±°὆aîÌ,ñᑪoþ²¯×6«‚ƒ}罬,‰èײ¯qŠ¡‡q!íB/ñ6ª‹õŠ•Ò"¥¨cÙ,‚†beöaJ–žÊ!œ-š¥þ\¶«'òbÛpâ!q͒(ÞF°ÁÒ^¿šfaro×VUÁfÜ>ÃgØגLõک,öZ÷ŠÕW[±š¯«ðÞU‘&0¦ÿºq+.egðé6ˆ[[{ï“æ±GDÞ4ö±/â§#r›Ô!×- ›ОÍä`¶/ËqŒóŠ’Oò^µjâZ¯ìdG#gnœ¦ík‰ì&Ævá€R¤zT²jõ©áãbpD۶·ÿáö£µ0Çæ]FwÎâp—§oS#NñfnmÏj™_֒>´ˆÖð(ZêÁ囼Íâ§ ÷®-aK—¶Í:c™X 7’hÍU´/¥@e•Β|Oõ *µ^¶NrBsø|£´ÇdÔN³zSv;»÷S)°UsŸç~®n›SO¸N?†ï["cw=}xX²ˆ$‰ϖð÷
øসIn¶„ 8
—ueßÉ6¸Š§jVӸI>´\l3uq ±5MϸÇT\g¯Ð%9ö\6ó¦sžU-m8xqs†֎íùZeðP§,qã1ý&ãç6Ò #—¿j¹±BxM7£fÿçÝöõ⡜Ÿé띓ßõÓl[UؘݐŠ/lž{¹Þß[ҝû4¾’ ¯¥Ìz˜Qùܪv•5}ÒÎ öI\÷ó?ç2ÂB:{Y÷ŠŸ’¥èc^w²êì8†÷«oÜ͒÷gÄsœˆ±©/g¥ë8Þi7f¶zî"ñ}Ӭeôs‹ã7ñ/›eëž+àyκ°gô´#/´
1 row in set (0.00 sec)

8 Respostas

R
Solucao aceita

esse comportamento é específico do console do cliente do servidor de banco de dados, o que importa é que a aplicação consiga recuperar e exibir corretamente as imagens salvas. Se ela faz isso, então não há nada errado

H

Obrigado. Vou investigar como mostrar isso na tela. Mas ficou uma duvida com o id desse jeito como eu saberei que imagem levar? na hora de mostrar na tela? se qu quiser levar pelo ID? e mesmo pelo nome como levaria?

F

estou com o mesmo problema tb hamilton, se conseguir a solução me informa por favor

H

Esta bem vou tentando e volto aqui se conseguir algo. Faca o mesmo Felipe por favor :slight_smile:

F

conseguiu hamilton ?

H

Alô Felipe. Como Rafael disse acima. O comportamento do MySQL é normal. Ao exibir dessa forma.

Então quer dizer que essa solução que postei realmente gravou na base de dados :slight_smile:.

Como comprovei: consultei os dados da tabela com MySQL Workbench. E consegui ver os dados tanto em binário , em texto, e a própria imagem.

Quando você faz consulta na tela de comando do MySQL ele mostra em formato de texto por isso parece ser algo de outro mundo.

Não sei se consegui explicar qualquer dúvida estou aqui.

Agora estou com outra dúvida. Como exibir os dados com graphicimage sei que devo fazer algo com o outputstream e serverlets mas ainda n cheguei a solução.

H

Obrigado realmente os dados já estão gravados é apenas a representação que assustava. Valeuuu

H

Alo Felipe consegui mostrar as imagens tambem. vai ai o codigo

Nota: segundo este site depois de sofrer tanto a procurar https://code.google.com/archive/p/primefaces/issues/1614

Voce deve colocar o seu bean em requestscoped ou session scoped para conseguir visualizar.

View Carregar Imagem

<?xml version="1.0" encoding="UTF-8" ?>

<ui:composition template="_template.xhtml">
<ui:define name=“titulo”>
Novo Eventos
</ui:define>

<ui:define name="conteudo">
	<h:form id="formulario" enctype = "multipart/form-data">

		<p:messages id="messages" autoUpdate="true" />

		<p:fileUpload fileUploadListener="#{imagemBean.handleFileUpload}"
			mode="advanced" dragDropSupport="true" sizeLimit="100000"
			allowTypes="/(\.|\/)(gif|jpe?g|png)$/" update="messages" />

		<p:dataTable value="#{imagemBean.listaImagens}" var="item">
			<p:column>
				<p:graphicImage value="#{imagemBean.image}">
					<f:param name="id" value="#{item.id}" />
				</p:graphicImage>
			</p:column>
		</p:dataTable>

	</h:form>
</ui:define>

</ui:composition>

Meu bean

public void handleFileUpload(FileUploadEvent event) throws IOException {

	try {

		Imagem imagem = new Imagem();

		InputStream is = event.getFile().getInputstream();

		// código usando Apache Commons IO
		byte[] bytes = IOUtils.toByteArray(is);
		imagem.setArquivo(bytes);
		imagem.setNomeArquivo(event.getFile().getFileName());

		new DAO<Imagem>(Imagem.class).adiciona(imagem);

		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
				event.getFile().getFileName() + " is uploaded.", null);
		FacesContext.getCurrentInstance().addMessage(null, message);

	} catch (Exception e) { // TODO: handle exception
		e.printStackTrace();
	}
}

public StreamedContent getImage() throws IOException {
    FacesContext context = FacesContext.getCurrentInstance();

    if (context.getCurrentPhaseId() == PhaseId.RENDER_RESPONSE) {
        // So, we're rendering the HTML. Return a stub StreamedContent so that it will generate right URL.
        return new DefaultStreamedContent();
    } else {
        // So, browser is requesting the image. Return a real StreamedContent with the image bytes.
        String imageId = context.getExternalContext().getRequestParameterMap().get("id");
        Imagem image = new DAO<Imagem>(Imagem.class).buscaPorId((Integer.valueOf(imageId)));
        
        return new DefaultStreamedContent(new ByteArrayInputStream(image.getArquivo()));
    }
}
Criado 22 de junho de 2017
Ultima resposta 27 de jun. de 2017
Respostas 8
Participantes 3