![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
![]() Buen día comunidad, quisiera saber si alguno de ustedes sabe enviar y recibir imágenes por servicios web de Delphi??
__________________
De ante mano gracias por tomarse el tiempo de leer este Hilo. ------------------------------- Juan Sebastián Cubillos Gonzalez Desarrollador de soluciones informáticas. Bogotá, Colombia. Encuentra me en: http://www.linkedin.com/pub/juan-seb...lez/66/1b8/150 |
#2
|
||||
|
||||
Revisa este artículo y la segunda parte, a ver si es lo que necesitas.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
![]() Hola Neftali, muchísimas gracias por tu ayuda, pero esto no es específicamente lo que necesito, he estado investigando, y recopilando información y la forma más fácil de enviar imágenes por servicios web, es tomar la parte binaria de la imagen y transformarla a texto, ene ste caso estoy intentando hacer un demo, para lograrlo y actualmente tengo esto:
Tengo un formulario, en el cual solo tengo un control de imagen, un botón y un dialogo, en ele evento ONCLICK del boton tengo:
La función DeCorrienteaTexto, tiene:
Ahora actualmente tengo solo un problema, todo el código funciona, y carga los valores de forma correcta, pero cuando intento cargar el texto en el memo, el memo solo muestra hasta el primer espacio del archivo binario es decir: Archivo binario original: ÿØÿà JFIF ÿÛ „ &%"/ #'),,,150*5&+,) )$,)*,*,5))/))2)5,5),),)),))5./),),))),),,,,1,-),,+)ÿÀ € P" ÿÄ ÿÄ 9 ! 1AQ"aq‘2±Ñ¡ÁáBRb#3ñ$rðÿÄ ÿÄ $ !1A"Qa‘ðÿÚ ? Ôøgj•{·¦éÔ/'i½*ƒjquh¼\\îF߸À/‡Ñ¢ÚÍuw‚5jÇ~x/MEUtqsq'©¾øL¹ÖŠ¢QÄÄ ÅO?ã|vü@×*ïm‡;ž|ºànë/{ÅÓýºÄ}ñ#5#½P/`ãžâ:bcÎýDÙ"qL($Ì ¯;lwÁTª ŽwÀ ѱVÓ§Æ<3¼ybzyºJ* ‹ [Ä?8hZ3߈uufé/@Iý ûœRrƒPvþæ'é°ý0ëµóRµjŠ@бÔÛîpW, ‘aØáfo”™æú”òMü°jK:ŸÏçðÅš„ô|²DÁ½ööÃ.KJIÝŒŸÛ Ëj,Ãy>”×Ê¡`ºT 51°ÀÝÚ¶§Ò¡Gú\ùvcaÿ ɽz–Éjh§HQ³?àcÔž©hƒ)ÃUPjE$ÜØ{`¼§]@hH;˜yC ˜üÜ¢`~qb^Ã/tƒ~øbHD¤Ø§‰ö˜¢ša¤~0ç‚ö~|¾˜”i`EŽúXtþÎä+Ð]¥©ŸÓÐþØ´ä;:´ßRØçÏ´„ñ›3¾Áð™-¥$r1Þ~p›…vW¿*QÈSÅêLÆ5äìÒô¡’÷±q÷ÂN'Àûª:VÎ×>So¶âû£(™o¯Ý±¦Ÿ_ãpZÎÂJ.-¨Hó™ß<·aPõŒ›{Ÿ<y™¢)®…R‹±.0RaM-h¦ðî'A¸rÓ:µ¥V#KªÂMÑï¼àš9üºä;ºhiÔDK«¶˜®7½£|T²ôB¨ òÿ QØ“é¿*úÁ™ƒp$Äòùˆ;t“6²ãÂ+¥=,¥ž¨> UlIF,O”XâÝÁs©Þè”n¸âzt<Æ3ì*f¢ò¤D€DÎÓ<"M¿Œ>ÿ *0¥ÞXX’Ó¿ ,˜Ä*•´‹¿í 4j…EñŒfÀ„áµuJ‹ß³j§°Rµ!y2o¹#^Îöœ¹Ø’#ïl\òyç‰cr@>QˆœZe‹tVó\K-¦#TŸ ÐÍ<¶ Ô{àÚ¹ª©OUT£ÃOw¡i Ÿ¶ÿ ûr0p›ŠSzŸ!YÒ.cî0A’bF§™¯SSÓ*ƒeÒ_ÔIó#føX!›Y55C)S«×ÏÐ`§âµ©YˆžBÒ}# ß‹êiðÉæP_Êc|1ÅÝŠü±jŒzžl±™¬6ÞéôÃ|¥+·±m˜ÞcZ¢‰!L“0LÀˆõĹå™Ue˜‚4Ä“n]zÏ–›f™E!ªæJ•¨©ˆù#±ž¶1ßç³`º¢ÈÂûædÌm8²:¸Úgøp߃pCV\ÜòŸ¾µÜDÚ¢×ðÛ*ÍQ˜üª¦gôÆŸ•V4älOÛ;1’D¦´’ þ¾xº¸D‚@éˆÍ$´W§ÇnÅÙüÇu¤›†789”þ´ƒ÷úUûMñ uŒ½ }ñ’ ‹Ü),*Ÿ2pGf»PÕCê¢ô‚¶/¸õ°ÜúáQ—#²cuu¢úê2Eö'±Nã™2Œb¨f‰%@·;âퟮ®ÿ 0Ïç>9ÅÅjºPøÞOŽb'Ûamè¡l¡ÖHðȾÓÿ 3ÿ 8;³uûºŒË!Š•y›Œx™-n5xNÐ.^Ø7†d4†$*ï~xÇ lêI!ž@)'Pçy÷×Ï@:»“í„Õ+.]•œwŒnfM¤bÌo€k泦îiªÁo*rĆ xž<#üâØwäñ/%Ÿþú§BššU&ç^ѵºúXõœ¿ms‘ÍLÃ4‰0y›m ½ðû‰pÚ9.ú(¢UIa©¤üÄ“rbÒ"ØÍ«2ÝB€Eù‘Ê òÂfß‘˜’KDùìóç*¢3$…Úÿ ÈÌ^7ÆÁØœ“ÒÈ u˜;ësfÕˆÕýP ô9cP‚]”)Û§ÐãRìßJÔPF™I’Ö M…àG?\W Êß=ãÅ– F>žœü¾¸§±LAæ?û b*g~½1]íR+w3|k“£Qîs&´TYYšL“t°Ü ùô;`îV“DÌŸêX&âæÓõlÆû.i*èY"æLú_¥f!|*Ô<ìIßldzVt£Þ‡‹Ãè]ª0$Ÿ k$ÞIÿ qŒÍÇL8Lúå(»*1á¾ _Ó–(¹ÖbÁj__˰e¼)‘¾%ívk0i-7 !:IæÚ›ù^q*i++(6è©ÖâŠêV*g}RJ³’&$ ô1û„ÒjåQv>Œ UQ›ÿ Tž“$ý`c®Åß-ZTñlL7* ‘<°–íJ´‹uo‡Õ)eêµUš¢4$›DÎÇÄLØy`.Ï1ZÊd– 䣟նúã]âuiT*µPÈu¿±Æ-Âxs¡Óp.‰°Ç#°œ]K‹Bø9&>Ëg& m]0W¡ªUºÀ*wñ„yíí€èe @ß™ëÓ¯ñ‰rÙãM :€*È›A½ï<“3,t'ájS¦)Uÿ USý¶$겓7 ó8wÂ{mF³¢:SPXÍÉõ€/mÎã ßàe È¥ëêyªŸ.¿éá'n¾SáÙSU*Uf•S!R ƒuPAã—®Ç7Å_ÚhèK’½³ÙJ¡•M*c·—–9âÜ?¾h+ò)#§Ž$ƒÒ\e5øµFe&]*mïÏ8WÄ,ÕgVƒ®*¶¹3¾5MrBáévk¹>ÊáS@N«‰ÔÆ7ë錴üeó*B˜uí7õ›}0Éþ+qïb#Â*b¹S´[æ!ˆÚ@Ÿ,ª&÷fÉðó"í’Ty: èÃo¡ûágk3¹~Qµ’Ìë‚I’I·/çîO·9ºb³(„G©öé…<gˆ5j*Qê5Rb]*ªÝ9_LQÆË){ ³½°fJ½ƒ\ÁöKW6ZìÌט$=Î áy ¹“ÝÓUfY™0„ßÄÔ;7š`ïÜxi¸¤ìÄ WÕ£L±Õá1±"w½”£éü£€ùIþÆñŠ7ÆÚJ¼<xB’WP¼k|KÈ0…¨¬Ü¿ñ«[~RyǶüDí†S1•j4šj3¤+Rt#KeŸË–øãàésA®UÝ?Ò¯c\òAö¿ï³)ï"@ò¼ûã™c£Lrýy|z,§ÌÁ뎱”Œ¼òõÇŠq(p±õßñç0dÎ :E-`<â8„ïŽqèÄjì‡*B¡9zjÏ$’-«”^óL>=®Í°*rº†¡*]-¥µ€4*+ãñ[˜Å†”³*UÉ@!}N.ÙÓdÛYZÌ»eYÁ™¶šuçËÛÿÙ Texto mostrado en el memo: ÿØÿà Y no se por que??
__________________
De ante mano gracias por tomarse el tiempo de leer este Hilo. ------------------------------- Juan Sebastián Cubillos Gonzalez Desarrollador de soluciones informáticas. Bogotá, Colombia. Encuentra me en: http://www.linkedin.com/pub/juan-seb...lez/66/1b8/150 |
#4
|
|||
|
|||
¿Y si agregas un Seek() antes de pasarlo al Resut?
Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#5
|
||||
|
||||
![]() Hola Egostar, gracias por tu ayuda, probé con la linea de código, pero sigo obteniendo el mismo resultado.
__________________
De ante mano gracias por tomarse el tiempo de leer este Hilo. ------------------------------- Juan Sebastián Cubillos Gonzalez Desarrollador de soluciones informáticas. Bogotá, Colombia. Encuentra me en: http://www.linkedin.com/pub/juan-seb...lez/66/1b8/150 |
#6
|
||||
|
||||
![]() Hola comunidad ya encontré la solución a mi problema, tuve que crear una función adicional que pasa de texto a imagen, esta función me retorna un TStream:
Ya en la imagen en el boton agregue solo estas lineas:
__________________
De ante mano gracias por tomarse el tiempo de leer este Hilo. ------------------------------- Juan Sebastián Cubillos Gonzalez Desarrollador de soluciones informáticas. Bogotá, Colombia. Encuentra me en: http://www.linkedin.com/pub/juan-seb...lez/66/1b8/150 |
#7
|
||||
|
||||
Bueno, pero es que tú no estás conviertiendo en texto tu imagen. La propiedad DataString del Stream simplemente coloca los datos del stream en un string pero este string sigue teniendo datos binarios. En Delphi, un string carga datos de cualquier tipo, no sólo caracteres legibles.
Debes buscar alguna biblioteca que te codifique la imagen como texto como UUencode o Base64. Me imagino que los componentes Indy traen algo así puesto que es lo que se usa para transferir datos binarios através del correo electrónico. // Saludos |
#8
|
||||
|
||||
![]() Hola Roma gracias por tu ayuda y tienes toda la razón, busque un código para codificar la imagen a base 64, me base en este hilo del foro: http://www.clubdelphi.com/foros/showthread.php?t=48924, implemente el código, y cuando intento enviarlo por el servicio web obtengo el siguiente error:
El valor de la variable a la cual le aplico el base 64 es: El código actual que tengo es:
__________________
De ante mano gracias por tomarse el tiempo de leer este Hilo. ------------------------------- Juan Sebastián Cubillos Gonzalez Desarrollador de soluciones informáticas. Bogotá, Colombia. Encuentra me en: http://www.linkedin.com/pub/juan-seb...lez/66/1b8/150 |
#9
|
||||
|
||||
![]() Hola, por fin después de buscar y buscar, encontré, que el usuario Seoane, ofrece su unit, con solo código, sin usar la API de Windows, no entiendo todavía, el por que del error, tal vez falta de compatibilidad, o tal vez Windows modifico esa unidad para Windows 7, la verdad todos son supuestos, pero la solución es usar la Uni de Seoane, sin utilizar las librerias de Windows, la unit esta: http://delphi.jmrds.com/?q=node/84.
![]()
__________________
De ante mano gracias por tomarse el tiempo de leer este Hilo. ------------------------------- Juan Sebastián Cubillos Gonzalez Desarrollador de soluciones informáticas. Bogotá, Colombia. Encuentra me en: http://www.linkedin.com/pub/juan-seb...lez/66/1b8/150 |
#11
|
|||
|
|||
Enviar y recibir imágenes por servicios web
Ya que lo solucionaste.
Podías colgar el código completo de ejemplo de delphi y del servicio web. Muchas Gracias. |
#12
|
||||
|
||||
Hola junyandroid, bienvenido a Club Delphi
Quiza el codigo que se publico en el hilo pueda dar lugar a confusiones para alguien novato. Las "imagenes" no son mas que un monton de caracteres (que no son mas que "bytes") con algun formato en particular. Luego hay componentes o bibliotecas que saben interpretarlo para que se pueda ver en pantalla. Pero no deja de ser un "string gigantesco". Si tanto tu servidor como cliente son Delphi, la forma mas sencilla de trabajar es usando Streams, en la que basicamente estas trabajando al nivel "bytes". Datasnap es capaz de manejar descendientes de TStream sin que haya necesidad de intervenir ni hacer nada mas El servidor expone metodos de este estilo: (escribo de memoria, se me puede escapar algun detalle la sintaxis)
El cliente (ClientMethods1 es la clase proxy que te genera datasnap)
{*}: No recuerdo exactamente pero es posible que Datasnap se haga cargo del manejo de memoria de los objetos que pasan a traves del proxy. En ese caso los bloques try-finally sobran y el Free no solo no es necesario sino que podria generar errores. En realidad no se porque siempre hubo tanto rollo con el base64. Se ha convertido en una suerte de "estandar" cuando en realidad no tiene demasiadas ventajas (la codificacion lleva tiempo, se incrementa el tamaño del stream adicional..). El unico caso en que usaria base64 es si estoy comunicandome con un webservice que ya este implementado asi y no pueda cambiar |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Enviar y recibir .txt y .jpg por puerto serie con C# | REHome | .NET | 6 | 06-12-2009 08:54:55 |
enviar y recibir capturar rs232 | pipecato | Varios | 3 | 17-10-2005 22:17:45 |
Enviar/Recibir por Pt. paralelo en Delphi 7 | desve | API de Windows | 6 | 11-10-2005 17:22:07 |
Enviar/Recibir por Pt. paralelo en Delphi 7 | desve | Varios | 0 | 29-09-2005 08:14:59 |
Como puedo enviar y recibir imagenes por Internet | JDNA | Internet | 4 | 29-03-2004 22:41:09 |
![]() |
|