Forum Użytkownikow Subiekt GT
InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: misiekck w Grudzień 17, 2019, 12:48:10
-
Witam wszystkich.
Mam problem z wyświetleniem pola zd_Zdjecie z tabeli tw_ZdjecieTw. Mianowicie wyciągam SQL poprawnie pole jednak z tego co doczytałem jest ono w formie Binarnej i teraz pojawia się problem jak go wyświetlić jako normlany obrazek.
próbowałem już wynik zapytania SELECT zd_Zdjecie FROM tw_ZdjecieTw WHERE zd_IdTowar='XXX'
przemielić do base64 za pomocą
$imageResult = $response['zd_Zdjecie'];
$imageData = base64_encode($imageResult);
a następnie wyświetlić za pomocą
header('Content-type: image/jpeg');
imagejpeg($imageData);
jednakże otrzumuję informację o uszkodzonym pliku.
próba wyświetlenia za pomocą <IMG src="data:image/jpeg; base64, '.$imageData .'" />
także nie przynosi rezultatu.
Moje pytanie brzmi jak wy parsujecie wyciągnięte dane aby uzyskać prawidłowy obraz?
-
Ech, przecież praktycznie wszystkie formaty graficzne są formatami binarnymi, więc niczego z tymi danymi więcej nie robisz, po prostu je wyświetlasz/zapisujesz do pliku.
-
w teorii powinno być jak piszesz jednakże wyświetlanie nawet bez traktowania danych base64 powoduje komunikat o uszkodzonym pliku. dlatego pytam wam jak to rozwiązujecie? jakiś przykład mile widziany
-
Z tego ci piszesz wynika, że popełniasz jakiś błąd przy wyświetlaniu zdjęcia cokolwiek to znaczy... Przykład kodu, który pobiera i zapisuje zdjęcie na dysku, działa tak jak opisywałem, nie w teorii tylko w praktyce:
byte[] zdjecie = (byte[])cmd_tw_ZdjecieTwSelId.ExecuteScalar();
using (FileStream fileStream = new FileStream(saveFileDialog.FileName, FileMode.Create))
{
fileStream.Write(zdjecie, 0, zdjecie.Length);
}
Zapomnij o programach Insertu, wczytaj plik z dysku jako tablicę bajtów i spróbuj ją wyświetlić, jeśli Ci się uda to wyświetlisz też zdjęcie z bazy danych programów Insertu.
-
wczytanie pliku z dysku i wyświetlenie go nie jest problemem stad dziwie się ze po wybraniu rekordu z bazy który niby jest binarny problem występuje.
być może przyczyna dotyczy tego iż pobieram dane z bazy subiekta jako format JSON.
zanim użyje funkcji json_decode dane prezentują się następująco
"zd_Zdjecie": "˙Ř˙ŕ\u0000\u0010JFIF\u0000\u0001\u0001\u0001\u0000H\u0000H\u0000\u0000˙Ű\u0000C\u0000\b\u0006\u0006\u0007\u0006\u0005\b\u0007\u0007\u0007\t\t\b\n\f\u0014\r\f\u000b\u000b\f\u0019\u0012\u0013\u000f\u0014\u001d\u001a\u001f\u001e\u001d\u001a\u001c\u001c $.' \",#\u001c\u001c(7),01444\u001f'9=82<.342˙Ű\u0000C\u0001\t\t\t\f\u000b\f\u0018\r\r\u00182!
natomiast po wywołaniu json_decode mam już
˙Ř˙ŕJFIFHH˙ŰC $.' ",#(7),01444'9=82<.342˙ŰC 2!!22222222222222222222222222222222222222222222222222˙Ŕ"˙Ä˙Ä@!1AQa"q2R#BĄąÁ3bŃáCr$đ4s˛ń˙Ä˙Ä4!1A"QaqĄđŃ2BRąÁá#$3Sń˙Ú?đ°ÉQ°<Ö\ąrN\ą-ă\Ś3Ş0Đಠ%gTćě´ŔŔ$Ěť^I é.ą(i+`D śFÖŽ,ŁĄ)Á tĄ@UZDIW`*ËR]dŤ[v\Xä .Hŕ5eŞĘ!TAkS .kJ9:şčąd°6ĆŃîŚ,Đď;W8UÉEÉNëşDó"% %YŐN$b+ť˘K¸ł
č2čWÉ×%(j0ÄaK(ČËśˇtĄŠĐÂŚDTQ Fže%Ôl'HŰUĹÔŔĄIË(ŕ.şÉŔŰQ9Ř.,ÍPĺN2"ó`¸˛ĐhF6˛yđÁžýTŕşmÓĚgDQÄJ9$ '`dŤ(ś4ŘŃäśčËŮrř@ŁlděŠÉÖħŰŘ(r ٰĄ˛ŹÉDó)Ď5%°¸j)ŚWRô {'<vX6ź¨Ů8Ř..5B˝!éŰ+E9čŮŐźł˝Ý źŹđWUó×{Áv+|Ţ VíŁş^tiT#˝Ř đM×x+RĚgěÂnđägÄLČo_Ržđ˛ĐÉHÍś×zjŁ?|~üno{hŻ \_FOSą'[˘djÄŃź^éčh\i$čTýo'ÂŔÍ%ç~V6çrvą*Äľě1ĂŤÎşZÔÓ3ŁÎŕ3Ţ==LÇ+KRH2?R+Üśęî$ÝÎ=,¨R
9äě4÷ÜétÝҸĄ@rŮ×E¸EyX¨Ë*˛gË<ÉÖ1ŹĎŮŔĐ(ÉŁ§5!$¤Ý5\XVłŞEÄtK%Ú:(ą9KëŤ$Č_O Ł)Ů÷ŘtM2ç^ŰŠÓ . áśN´5ŃQ˝ąźő%ň7ńţÉľ0ŠełKnäˇpC!č(0éę¤m-58itŇÝďČwZx¸.ž1wžýďřŮX`ôżşk\'hcÜÜąą[ű,Ť}¤~ËŚbÜY[>đő4BZvbŹÂílˇđ"_˝Đ_~ÁAýŐ=\ž-[ÚynŔ ÔăHéRÖćcÖÖý5PŠĹĘJÍÇsyź@ÔF;7žYźčX~wţLnżCÓ*Ö(`su~˝ÉD\ďł˝ş|ŰęÁ;SxÎ é¸c ŤŹ%8lRŰK˙ĘÍWđľULHĆîfśőčśÍ Š`Ěí9Qąxáć7$ëč^ŚČty@Őî/ŽQ˘Â%źPŰŞÓŮŕ¤f]ńÉżŠWóÓÇQź2#Ţ Úę Ń˝˛e°ş+ąŘů Túđ@M5/ŽÍjháěŹY 'AýU×Čaćîz(rĆóÉZ3}RÉĹ,6cCZ˘oŮĂŽ Ąu;÷ %#)ÝůJ*Ă9¸%¤BIŚ1üŔŘŠT49jHo§|ĆöRkŕá17%ËŃű>8HÎp˝Jl^âŞÝV#BÖKnUŢ,ÜÓ˛PY#PŤ1;jiX7nSę´g6ĄÁysQşŰRaôN;9§ćŚźťÜÖúc/âýuź+gęĹ2ąôr7p19§błD?ŐwôŽËţůţ5{]Aş˛U´ŰDBîÝY~ďdëR"ÂäpńD÷ŚÍ˘Bz şäÁçňą6RĄé¨Ysް˛Uň;g@ÎKW3b7=ÇEĘÂü;>;[á°řpGc4¤_(<RWĄĹSŕ{- ˇGxvsÜ{
Żöü:Öeý*ٞĘL;çŚ`GEů¸}áŁ)Îk¤ÝEÉüJ#ŹMQ&Zz6\íďwĐX)QśfCgË\ňýýVěą˝Ňi1źŰÚ?Oö1&-:ŃM<ńü&ÎoĐę¤>˘ ÖxUPI^Í>ŠčŠą j÷ úuSĹ&)a1˙x'ňA9xĎĐíyYő\´~ŮNZĆNĆű¤<~ĄYFLŹĘújv÷a'ä°Ś×}DtąŢ˙ÎęąŘí3Ť˙w`ŚeTŔf¤Ś°@Ëęt÷Ź ç|Vö/Ô^vŤŘ˛ű˛Ń´ßĚţVśß)p7_(čşQÖKÇsÓńTŐURxLąB$ÚâĺVr`ëŹ}Gę+ăĚCŔ~'{ę׺HśŇ,@;¨3ľî75 Š6 3§§ŚoGJţś°OB¤ş*!Ç%ßkÎOÄvMĚŕńqfÉÓ¨TcÄÄńnl~8ŮycřĄŃă§źĄo ˘|Ó:庡˛,Ä.v+O ó}FżTÄteşIŻBŹÚě2Çc˝¤pHîŮŽŤf§éżŕŁşť6Ŕt ŞčoąfâúŹ˝Âćęçeča˛ŤşŮ8Ś"AŻz=,6ĂgĂ*%Ós ŻČŞ8Ĺ%;üÍěŕŚD&V7-Ă'éäQŁşkJymn)Ŕ6;)Ą˘p´ŚŢđ<Ü*Ł`PK ťxe 7´"DÝŢg@Đ 3:űśôňoYOKQ>î§Ş~:¨äÝâęg'ZńvOwÇPiô2jM(,MMźŞ5NF.Sďyx<<ŕj´¤ÓJČŘsŮ[Ń´ˇĚ×KТ&Ę,Qá8^o˙i3ttď;Đ~m,Ď ¸ˇ ôęT, ~VĘöŢithřZś´ě0ÖňçŐy]Uąľ˝ŮŞąL3ÝŃQEMXÇŢd{îő<žJ!ÄTT$ĂOăp Ś8t1{,.!ÄyČĺŮQá84ŘAä
É'NŢŠzhŚsŕkĘń,';Śń'?ěÄmo@ÝţiŃĆř-Ő¸nÝM.
Ţ ,~+ö/#5ţgôXźB¨TVĎ!ľÍť ZŃEáÎŹ'Ó?ˇRľĘQăŕNŸĆGłÉ!đś@C yčzžE`ŢÎ2=ŻŠxć˙Ńť}WźSřŘN#KS4%ŽmĄk˝şŰŻ;-Ý4ÎććÁˇ#×__[FŹGáÜĄĺQŹ=@ŚÄÜ÷˙F8ôŹŐ }IJĺžüŹ!`!vKŚŮwˇ;wZL2¨RŐ`Í;@ďxˇĄďdýpÄpqž;KSg6Ű*9ćIqŁŰ1ąÖÂŮYmFęŹĂśÇxnśŐÄmRňžĄ^!J1,!Ұ}ŤnćŰňXIZňŁaMtsv¸\ác¸Ř1I˘áó4ö:ŞIŰ' n(śl% ÄbbÇvQî¸WđB4ÍöĘmőUŃ SUąđx@Hä-ĐbÎLĘ2kieLŰ´E(¨Ş#|¤ÝŢUź˘mÜĎŁ˙¸ßvúłl^ ]74l°¸ĹÝ!ţë{+ydSžO
ˇUŘx&wŐ)P<@Űnű}ŃßşňSNv`jĹžÜŮL˝î$ó$îśqQ7áę8tdľ9ýNmmôXąă.cąz&0ÇOĂŘuu=ś"cmČXkňZşu jčŽÂĺ˙Ď¸Żľç(Rś÷ÉyKSáÔ/e< 2ĆÚźŰbWPđUüKsl~vÓvąŁŠćôÇťKţż=pZÂ÷CXřÝĚĺőUxÜFó0yo57ĂŤc2 ]4I
ËĚ$ëxś_ŠĐm8ËÔŹÔś˘fR˝Ŕ¸ŃĂvţŤÍkŚŞś0Ř ^ősI;TwÇrß[,śňâIą:Ýz ĆÉKłÇů)cÚŰ]ÁbNĄFsÉH÷]ĄnB˛Ç#Ă[kş. °ś`$Ř#Ć$.G¤ÇóLşĹI`Ń1śľ$§3@UUĆVé LDfźäŘŕŐ&srĂ`Gęľ&:ČKlpň
e ŹÁîu˛Ńŕs¸ÜJŁç,Ž/$zˇÓJě[RgâűJIţ8?"˝)2ĚŮĄ$ăÚŇvĎú!őd)řŞ3<ýéˇ%yŐ6¨ÁI¸!¸łTÉRp¤E¸Kł"KśçnKQgI`ć7H룾uJűe4ť6ńôŁŮtÓ<őa1ą¤kFëWÄ ¤sÁÁÚü<VxŽĂĎŤťz+ŮglWÂÍk9vŰű%ľ6ďňD5Üů{őXG¸ÚŃ4_Ő9U5ś2ůÉŃĚmťÜ,ĎUÓdsŽ÷Ýîô˙őâ~á@ý¤těĺ$ üľGŤJäëK×ěŰmŹĄ¨ś.U|ąG#îW YŚwŇ_m<ŻŐzş ˘ŚÜşôÍŞ°§§mlŚľŚÚw=UcźŚÉČj]ŹĐŚqÇĄ$$JŽŁuľűŘîŁFNmK<ľ2ĘňçdÝKĄ¤|ŚäY˝QařéyPą´rĄ1
?00Tę|9äBeGqŠéŠÜ4Zü"ąGâÉ`ĆęOT8VMść-îęÖeËwîŁ9xA7F<7,dĘ]3˝Ý¨ZčĺĆáÎ7E柴ٰIłVéÉî Ë#4Ôz¸ÔmŠĂĂƤs^kĆGÄ0>ă^śÉI4fţUçT3f[ô ÇĐó§SN:'$6q ˘¨ĘIT.ŞS%`R#Ü(ătűĚËoBű8-^(msýćŹe+ěđ´sÜÉťMÖ^ŽFÖĚ`ôL6@ÉňŁÓ/ńöĘŢÁe`=ŚB3˘`úv¸ż˘óĂś:¨sąw"â´ćP$Ś]üŔéŐgÜŰy˝ąŚ÷;§ Q%ĄĄńKüćˇÔŽŞÍŤ¨żbÚĚäÎIk Ő^ŇaqŇČÇHDéČu FC#hk
nie wiem czy to prawidłowa reakacja ale nie przynosi żądnen sposób rezultatu.
ani zakodowanie stringu do base64
ani wyświetlenie bezpośrednio headerem tego ciągu znaków
ciągle mam info że obraz zawiera błędy
-
To problem znajomości języka/środowiska PHP, którego nie znam, więcej nie pomogę.