Página 1 de 1
Campo BLOB
Enviado: 26 Mai 2008 19:35
por helio
Pessoal estou com um problema e o seguinte utilizo SQLRDD com FIREBIRD e XHARBOUR 0.99.7 e gostaria de saber como posso colocar um figura em JPG no campo BLOB.
Obrigado antecipadamente pela forca,
Helio Beltrao Jr.
helio@hrbinfo.com.br
Re: Campo BLOB
Enviado: 26 Mai 2008 20:23
por sygecom
Tente assim:
Para Gravar:
Código: Selecionar todos
cFile:=memoread("foto.jpg")
cContent := strtohex(cFile)
replace campo with cContent
Para Ler o campo gravado:
Re: Campo BLOB
Enviado: 26 Mai 2008 20:41
por helio
Valeu Leonardo pela forca vou fazer uns teste.
Re: Campo BLOB
Enviado: 27 Mai 2008 16:00
por rodrmigu
Olá,
Tenho usado algo parecido com o código do Leonardo mas para postgres com blob. So que ao invés de usar memoread/strtohex/memowrit/hextostr, uso o encode da Base64 que é o mesmo usado em arquivos binários enviados por html, etc:
Código: Selecionar todos
Function Base64Decode( cFile, cData )
Local oEncoder
Local nHandle
Local result := .t.
oEncoder := TIPEncoder():New( "base64" )
if (nHandle := FCreate(cFile)) != -1
cData := oEncoder:Decode(cData)
FWrite(nHandle, cData)
FClose(nHandle)
else
result := .f.
endif
return result
Function Base64Encode( cFile, cData )
Local oEncoder
Local cBuffer := Space(1024)
Local nHandle
Local nLen
Local result := .t.
oEncoder := TIPEncoder():New( "base64" )
if (nHandle := FOpen(cFile)) != -1
cData := ""
nLen := FRead( nHandle, @cBuffer, 1024 )
do while nLen > 0
if nLen < 1024
cData += Substr( cBuffer, 1, nLen )
else
cData += cBuffer
endif
nLen := FRead( nHandle, @cBuffer, 1024 )
enddo
cData := oEncoder:Encode(cData)
FClose(nHandle)
else
result := .f.
endif
return result
[]'s
Rodrigo
Campo BLOB
Enviado: 28 Mai 2013 15:23
por allan_de_sa
Olá Rodrigo,
Poderia dar um exemplo de como faz para gravar binários no postgres usando as funções citadas acima ?
Obrigado,
Allan