Load the image to memvar ...
- Code: Select all Expand view RUN
cImagen := ""
nBytes := 0
nHandle := FOpen( AllTrim( (PasoLink)->DocuExte ) )
While .T.
nBytes := FRead( nHandle, @cBuffer, nBufSize )
If nBytes > 0
cImagen += SubStr( cBuffer, 1, nBytes )
Else
EXIT
EndIf
EndDo
FClose( nHandle )
If !Empty( cImagen )
cBase64 := cMimeEnc( cImagen ) // transforma en texto
UPDATE EMAELINK SET TEXTO=cBase64
BREAK
EndIf
The read data
- Code: Select all Expand view RUN
cDocuExte := AllTrim( Vcc(TMaes,"DOCUEXTE") )
cBase64 := cMimeDec( Vcc(TMaes,"TEXTO") ) // se des-transforma desde texto !!
If ( nPos := RAT( "\", cDocuExte) )<>0
cFile := StrTran( cDocuExte, SubStr( cDocuExte, 1, nPos ), "" )
Else
cFile := cDocuExte
EndIf
If "PDF" $ UPPER(cFile)
lEsPDF := .T.
Else
lEsPDF := .F.
EndIf
cFile := DEFATMP + "\" + cFile
nHandle := FCreate( cFile )
FWrite( nHandle, cBase64 )
FClose( nHandle )
If lEsPDF // no se por que solo se llama con 2 llamadas
Shellexecute( oPadre:hwnd, "open", cFile )
Shellexecute( oPadre:hwnd, "open", cFile )
Else
Shellexecute( oPadre:hwnd, "open", cFile )
EndIf
-------------- SPANISH ON -------------------
Lo que hice fue, leer el archivo en forma binaria, transformarlo a Base64 ( texto ), guardarlo, y para recuperarlo lo leo de la base de datos, y lo vuelvo a su forma original, lo pongo en un archivo y lo guardo ( fwrite ), luego lo visualizo. Eso....
Saludos
Julio Gonzalez V.
RANDOM S.A.
SISTEMICA S.A.