Nuevamente, aqu铆 en busca de su ayuda.
Como ya lo he comentado en otro post, ten铆a funcionando si problemas una aplicaci贸n que cargaba una imagen desde archivo lo cargaba a un objeto Stream y mediante este lo asignaba a un campo blob en una tabla mysql. Mas o menos en resumen lo hac铆a as铆:
//::oStream := TOleAuto():New("adodb.stream")
::oStream := win_OleCreateObject( "ADODB.Stream" )
::oStream:Type := 1 //adTypeBinary
::oStream:Open()
//cargo la foto desde un archivo al objeto
::oStream:LoadFromFile(cfile) 聽
//Creo el nuevo recordset
oRsFoto:Addnew()
oRsFoto:fields('cod_veh'):Value := ::oRsV:Fields('cod_veh'):Value
oRsFoto:Fields('fecha'):Value := fecha
oRsFoto:Fields('nota'):Value := nota
try
聽 聽 聽 //Coloco la foto en el campo
聽 聽 oRsfoto:fields('foto'):Value = ::oStream:Read(-1)
catch oError
聽 聽 MsgInfo( "SEND01 NO : " + ";" + CRLF+ ;
聽 聽 "Message: " + oError:Description )
聽 聽 //MsgStop("Problemas al colocar la fotograf铆a en su respectivo campo")
聽 聽 //ShowError(oError,oCon)
end
//actualizamos el recordset
oRsFoto:Update()
::oStream:Close()Todo esto me funcionaba sin contratiempos antes de actualizarme, pero ahora al momento de hacer
oRsfoto:fields('foto'):Value = ::Read(-1)
obtengo el error que me da en oError:Description : "Argument Error"
Esto me trae de cabeza desde hace tiempo, y no encuentro la soluci贸n.
Pienso que ::LoadFromFile(cfile) , no est谩 cargando adecuadamente el fichero, por lo que al ser pasado en oRsfoto:fields('foto'):Value = ::Read(-1) no es un archivo v谩lido. Pero no s茅 como comprobarlo, estoy perdido.
Intent茅 usar un ejemplo que hall茅 aqui en el foro:
oRsfoto:Fields("foto"):AppendChunk( VTArrayWrapper():New( 17, cBUFFER ) ) // cBUFFER contiene bytes leidos desde un fichero de imagen
Pero tuve problemas con la funci贸n VTArrayWrapper, que me parece que no es de harbour, as铆 que prob茅:
oRsfoto:Fields("foto"):AppendChunk( cBUFFER )
y si graban bytes a la tabla pero no como una imagen
Ahora usando FWH 10.3 + Harbour 3.0 Rev: 16951 + BCC582 en Windows 8.1 pro 64 bits
Ayuda please!