Spanish JRDC2 - B4A imagen/blob

elsanto

Member
Licensed User
Longtime User
Estoy trabajando en una app con B4A de cliente conectado a un servidor JRDC2
con una base de datos sqlite , en una de las tablas tengo almacenado , entre otros(id,nombre precio etc) y el camino de la imagen del producto ("c:\sist\imagenes\user.jpg") , existe alguna variante para que el servidor(JRDC2) me envie los byte array correspondientes a cada imagen de cada producto , para no tener que almacenar la imagen en la tabla

Desde ya muchas gracias
 
Last edited:

elsanto

Member
Licensed User
Longtime User
@edgar_ortiz Estoy utilizando el JRDC2 modificado para sqlite de @OliverA de aqui
Para resolverlo lo que hice fue guardar en la columna blob el camino de donde esta la imagen almacenada
en Windows , y agregue dos sub y cambie estas lineas en el RDCHandler.bas para que envie los bytes correspondientes a la imagen
de cada producto

B4X:
If ct = -2 Or ct = 2004 Or ct = -3 Or ct = -4 Then
   'row(i) = rs.GetBlob2(i) old
   '---------------------------------------------
   'blob guardo Directorio + imagen.xxx
    Dim DirFile As String = FileToString(rs.GetBlob2(i)) 'new
    row(i) = FileToBytes2(DirFile) 'new
   '---------------------------------------------
B4X:
Private Sub FileToString(Df() As Byte) As String
    
    Dim DirFilename As String = BytesToString(Df, 0, Df.Length, "UTF8")
'    Log (DirFilename)
    Return DirFilename
End Sub

Private Sub FileToBytes2(DirFilename As String) As Byte()
    'Modificado
    Dim  imageDir As String
    Dim  imageFile As String
    
    imageDir  = File.GetFileParent(DirFilename)
    imageFile = File.GetName(DirFilename)
    
    Return Bit.InputStreamToBytes(File.OpenInput(imageDir, imageFile))
    
End Sub
WhatsApp Image 2024-08-21 at 11.25.53.jpg
 
Top