FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Codificar y Decodificar imágenes
Buenas a todos!
Con una aplicación codifico en base64 un archivo de imagen (png o jpg). para posteriormente enviarla a través de un servicio REST. El problema que estoy presentando es que cuando recibo la imagen en una aplicación sobre Windows la decodificación se realiza exitosamente y puedo ver el resultado en un control TImage. Sin embargo el mismo código lo trato de ejecutar en Linux y no me funciona. me salta el error: "unssoported Stream Format". El código que uso para descodificar la imagen y asignarla a un control TImage es el siguiente:
No me queda claro si las librerías de la clase TNetEncoding no funcionan en Linux. pero por más que he buscado no he encontrado la solución. Gracias de antemano |
#2
|
||||
|
||||
Como primer paso haría una prueba sencilla: crear un archivo con la información decodificada en ambos sistemas operativos. Me suena mas a un problema del encoder de strings que al base64. Las API REST por defecto codifican todo en UTF-8, y no deberías tener inconvenientes al tratar el string en base64, pero si puede cambiar el default encoder de un sistema operativo a otro.
Si mal no entiendo esta ayuda, deberías pode asignarle el encoder al TStringStream en el momento de la creación tanto en el cliente como en el servidor:
Saludos. PD: ¿En qué momento la ayuda de Delphi se volvió tan mala?... solía ser genial.
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Muchas Gracias por tu interés en responder.
No logro que me funcione en Linux. He cambiado la API para renderizar un campo blob, uso en la API la Herramienta DMVC FrameWork. me renderiza bien un campo de foto, pero pareciera que no está en base64 y no puedo decodificarlo desde otro proyecto delphi. lo dejo acá por si alguien sabe como deserializar un campo blob de un dataset que haya sido serializado o renderizado con DMVC Frame Work, ya que es otra posibilidad que estoy valorando. Agradecería alguna idea de como enviar una imagen a través de una API que pueda ser restaurada en Linux. Saludos. |
#4
|
|||
|
|||
Buenas,
Les comento que he logrado una solución a mi problema y es que como el cliente es una aplicación Web lo que opté por hacer fue insertar en un tag <img> de html el texto de la imagen en base64 y me ha funcionado. algo así: "<img src="data:image/jpeg;base64,' + textoBase64Imagen + '">"'; Saludos. |
#5
|
||||
|
||||
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Decodificar hora en milisegundos.. | lbidi | Varios | 3 | 14-05-2019 20:40:38 |
Decodificar y codificar una imagen | djemix | Gráficos | 8 | 21-04-2012 01:45:42 |
¿javascript como codificar decodificar? | JXJ | Varios | 3 | 18-01-2012 04:08:58 |
decodificar offset | JXJ | Varios | 0 | 24-07-2011 21:29:22 |
Decodificar año | rafadrover | SQL | 4 | 11-01-2005 03:28:15 |
|