Mostrar imagen que viene en Base64
Hola amigos.
En una aplicación tengo que mostrar en un TImage un avatar que me llega codificado en Base64. Uso una unit (Base64.pas) que copie de alguien del foro y el codigo que utilizo es el siguiente: Código:
procedure TfrmMedia.LoadAvatar(sAvatar: string); Código:
'/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD03JoyaSnxJ5kqR5xuYD866jIdBbzXLbYkLHvjoKutpE8cDyyOPlGdqjca3oYY4IhHGoVRT6xdR9C+U43Joya09ato4ZkkQBfMzkD1Hf8AWsutU7q5DVhcmikopgFTWgJvIQoyd4OPxqGpIJfJuI5cZ2sDj1pMDr6KQEMAQcg8ilrmNTG14HbA2PlBYE/lWLWxrs2XihHYbjWPW8PhM5bhRRRViCigAk4AyT2q/b6Rcz4Ljyl9W6/lSbS3CxsaWzPp0JY5OCB9AcVcpqII41ReigAU6ud6s1Ryt+7PfzlzyHIH0HSq1b+paY9zL50TLuxgqe/41iTQSwNtljZD7jrW8WmjNojoooqhG/oiJ9lL7V37iN2Oa1KKK557mkdgoooqRhTXRXUq6hlPYjIooprcDkZQBK4HA3GiiiukyP/Z' Gracias |
Hola,
¿Y como pretendes que te ayudemos si no indicas siquiera el hilo o el usuario que aportó dicha unidad? Vaya uno a saber que %$&@# hace esa unidad realmente y en como funciona. Aportá más información porque así como está la cosa, no queda otra que ir a por las bolas de cristales. Saludos, |
En este enlace esta la unit
http://www.clubdelphi.com/foros/show...ghlight=base64 |
Cita:
Imagino que esa unit (que estoy con Delphius en que nos deberías dar más información sobre ella) podrá codificar y decodificar. Decodifica primero la imagen y luego muestrala. Para comprobarlo puedes grabarla entre medio a disco y comprobar que graba algo correcto. Lo digo porque yo he intentado decodificar el String que me has pasado y el fichero resultante no parece ser una imagen. |
La prueba. Por ejemplo he aquí una imagen codificada en Base64:
Código:
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB http://www.opinionatedgeek.com/dotne.../base64decode/ http://www.motobit.com/util/base64-decoder-encoder.asp http://webnet77.com/cgi-bin/helpers/base-64.pl ... Verás que el resultante es un fichero que si renombras a JPG es la imagen inicial (mi avatar). Yo intento esto con la cadena que tú me has pasado y no nada que se parezca a una imagen. :confused::confused::confused: |
Pues he probado la Unit de Domingo Seoane y funciona perfectamente.
Puedes poner en un form, un Memo y un TImage y un par de botones con este código:
Añade la unit JPEG al use y funciona perfectamente. Un saludo. |
Es cierto Neftali, probe en mi programa con tu avatar y lo muestra correcto, entonces el problema esta en el string que estoy recibiendo.
Muchas gracias. |
Creo que sí. :o
Un saludo. |
La franja horaria es GMT +2. Ahora son las 19:28:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi