Italian PHP POST FILE

LordZenzo

Well-Known Member
Licensed User
Longtime User
buongiorno forum
chiedo a gli esperti di PHP
tramite OkhttpUtils e due file php scarico verso la mia app sia dati da MySQL si file immagini, ora vorrei anche fare l'upload di file immagini ma non so come fare
premetto che i file PHP li ho creati seguendo tutorial web, ma per il POST non trovo esempi validi
trovo esempi che usano pagine web, o che copiano da una posizione web ad un altra, io ho un oggetto bitmap
 

LucaMs

Expert
Licensed User
Longtime User
Non so se sia l'ideale (dovrei valutare lo spazio occupato, i byte) ma potresti anche salvare le immagini sul DB in formato stringa:
B4X:
Sub Get64String(bmp As Bitmap) As String
   Dim su As StringUtils
   Dim BmpBytes() As Byte = GetImgBytes(bmp)
   Return su.EncodeBase64(BmpBytes)
End Sub

B4X:
Sub GetImgBytes(bmp As Bitmap) As Byte()

   Dim out As OutputStream
   Dim data() As Byte

   out.InitializeToBytesArray(1)
   bmp.WriteToStream(out,100,"PNG")
   data = out.ToBytesArray

   out.Close
   Return data
End Sub

B4X:
Sub GetBmpFrom64String(BmpString As String) As Bitmap
   Dim su As StringUtils
   Dim BmpBytes() As Byte = su.DecodeBase64(BmpString)
   Dim in As InputStream
   in.InitializeFromBytesArray(BmpBytes, 0, BmpBytes.Length)
   Dim bmp As Bitmap
   bmp.Initialize2(in)
   in.Close
   Return bmp
End Sub
 
Last edited:

LordZenzo

Well-Known Member
Licensed User
Longtime User
Non so se sia l'ideale (dovrei valutare lo spazio occupato, i byte) ma potresti anche salvare le immagini sul DB in formato stringa:
B4X:
Sub Get64String(bmp As Bitmap) As String
   Dim su As StringUtils
   Dim BmpBytes() As Byte = GetImgBytes(bmp)
   Return su.EncodeBase64(BmpBytes)
End Sub
ci avevo pensato, creare un campo sul db per l'immagine/avatar limitandola a 100dip per lato
 

LucaMs

Expert
Licensed User
Longtime User
Non so se sia l'ideale (dovrei valutare lo spazio occupato, i byte) ma potresti anche salvare le immagini sul DB in formato stringa:
Noto soltanto adesso che quella routine ne usa un'altra di cui non ho postato il codice, quindi modifico quel post, lo completo, aggiungendo anche una routine per il passaggio inverso, da stringa Base64 a bitmap.
 
Top