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
@edgar_ortiz Estoy utilizando el JRDC2 modificado para sqlite de @OliverAde 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