Foros del Web » Programando para Internet » Javascript »

javascript btoa error invalid character ...

Estas en el tema de javascript btoa error invalid character ... en el foro de Javascript en Foros del Web. Hola, Tengo el siguente problema: Estoy intentando codificar en base64 una cadena (generada desde una imagen) para poder luego asignarla al atributo src de una ...
  #1 (permalink)  
Antiguo 05/08/2015, 14:17
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años
Puntos: 10
javascript btoa error invalid character ...

Hola,
Tengo el siguente problema:
Estoy intentando codificar en base64 una cadena (generada desde una imagen) para poder luego asignarla al atributo src de una etiqueta img.

Hasta aqui nada de otro mundo con base64_encode() en PHP esta ok. Pero necesito hacerlo desde javascript y btoa() me da el siguente fallo:
Uncaught InvalidCharacterError: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.

un ejemplo aqui:
Código Javascript:
Ver original
  1. var cadena_imagen ="PNG   IHDR sRGBΜ退gAMA a pHYs  ҝ~IDAT8O1 €E'⩭m-ū葒]₅x 턁Bĺݟ䯳1Y>?斤s.IY^<A%zj'⍐漸)DцeӃ i:鈨֠ۓ }!&唁Ʃ‰ Ρd> ĆNgi8;֤JʉV 4)뫾-SJ哕ЗTvv]G5-'M'?` 0ʲ[> 퉘藛ɂ٤9ց⫦ᚸSt1ėU{˝5LElߧ  :Aؚ{zǹ}ozu'_IENDB`";
  2.  
  3. $('#mi_imagen').attr('src','data:image/png;base64,'+btoa(cadena_imagen));

¿Alguna idea como puedo resolver esto?

O sea no obligatorio con btoa() pero la ideea es esta:
desde este texto cadena_imagen que se muestre en #mi_imagen dicha imagen (repito esto desde el cliente no en servidor);

Gracias.
  #2 (permalink)  
Antiguo 05/08/2015, 14:44
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: javascript btoa error invalid character ...

Inténtalo con esto.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: invalid, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:42.