Guardar imagen en AL11

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Junior Member
    • dic
    • 5

    #1

    Guardar imagen en AL11

    Hola buen día cómo están, saben que estoy desarrollando una app fiori entonces le envío mi imagen base64 algo asi ("data:image/png;base64,iVBORw0KGg...EAAAAASUVORK5CYII=")
    entonces mi odata recibe ese base64 como xstring y lo que hago a continuacion es cortar el inicio de mi base 64 y quitarle las comillas de la siguiente forma:

    paso mi xstring a tabla binaria con SCMS_XSTRING_TO_BINARY

    de tabla binaria obtengo el string con SCMS_BINARY_TO_STRING

    obtengo el string algo como esto: "data:image/png;base64,iVBORw0KGg...EAAAAASUVORK5CYII=" (incluiyendo las comillas)

    y hago lo siguiente:

    Código:
    replace all occurrences of regex '["]' in string with ''.
     split string at ',' into data(dummy) string.
    entonces obtengo mi base64 algo como esto: iVBOR....gg==

    decodifico ese base64 con la clase if_http_utility de la siguiente forma:

    Código:
    DATA: ld_rawurl type string.
      DATA: lo_httputil TYPE REF TO if_http_utility.
      CREATE OBJECT lo_httputil TYPE cl_http_utility.
    
      ld_rawurl = string. " base64
      ld_rawurl  = lo_httputil->decode_base64( ld_rawurl ).
    y esto lo guardo en la al11 de la sigueitne forma

    Código:
      open dataset lv_path for output in binary mode message lv_msg.
      if sy-subrc eq 0.
        mensaje = 'S'.
        transfer  ld_rawurl  to lv_path.
        close dataset lv_path.
      else.
        mensaje = 'E'.
      endif.
    Mi problema que luego de guardar todo bien en la al11 descargo mi a rchivo con CG3Y luego de descargado lo abro con el visualizador de imagenes de windows pero me dice: El archivo xxxx Parece que el formato de este archivo no es compatible.

    Yo creo que mi problema es quizas deba hacer un paso previo o algo por el estilo. Intente quitarle las comillas y guardar la tabla de binario con un loop pero no me ufnciono. Alguien tiene experiencia en esto ???
Trabajando...