Hi!
I use HTML(report), is very simple.
Basically, pull the image to the desired workstation.
The speed will depend on the image size.
...
cOutFileName := cDirSist + "Documentos" + hb_ps() + cAno + hb_ps() + cMes + hb_ps() + "Loja_DOC_"+StrZero(cx->(RecNo()),10)+"."+cx->sufixo
IF Empty(cx->arquivo)
ELSE
IF hb_vfExists(cOutFileName)
ELSE
cDecode := hb_ZUncompress(hb_base64Decode(cx->arquivo))
IF Empty(cDecode)
hwg_msgstop("Arquivo não está anexado.")
RETURN .T.
ENDIF
hb_MemoWrit( cOutFileName,cDecode,.F.)
ENDIF
ENDIF
IF hb_vfExists(cOutFileName)
IF Upper(AllTrim(cx->sufixo)) == "PDF"
cIMG := "\loja\imagens\anexopdf.png"
ELSE
cIMG := "\loja\imagens\anexodoc.png"
ENDIF
ELSE
cIMG := "\loja\imagens\semdoc.png"
ENDIF
...
IF hb_vfExists(cFILE)
#ifdef __PLATFORM__LINUX
hb_processRun( 'xdg-open ' + cFile )
#else
hwg_Shellexecute(cFile,"open",,cDirSist,1)
#endif
ELSE
hwg_msgStop('Erro')
ENDIF
I use LetoDBf, but any database run this.
Best regards,
Itamar M. Lins Jr.