Ciao, presumo mi sia sfuggito qualcosa, ma perché convertire l'immagine in B64 quando sia MySql che Sqlite hanno il tipo dati BLOB?
Non è sufficiente immagazzinare nel campo BLOB l'array di byte che forma l'immagine ?
Un'altra considerazione è la solita: non sarebbe meglio avere i file in una cartella del server ed inserirne i soli riferimenti nel DB?
L'app client potrebbe scaricare solo quelli che non ha ancora in locale (un accesso Internet deve averlo comunque per scaricare il DB "aggiornato", quindi perché non i singoli file mancanti/aggiornati?)
Oppure pensare ad un tool sul server che "impacchetti" i file immagine sul DB (da byte array a BLOB) e poi renda diponibile il DB (magari già nella versione Sqlite)
Alcune scelte dipendono dal tipo di applicazione. Ad esempio, se le immagini sono gli avatar di centinaia di possibili utenti oppure una decina di "categorie" di cibi, etc
Così come la frequenza di aggiornamento delle immagini, intesa sia come sostituzione con immagini più recenti dello stesso oggetto che inserimento/rimozione di immagini.
Come giustamente faceva notare
@sirjo66 l'utilizzo del formato B64 incrementa notevolmente lo spazio occupato da un'immagine. Quindi se parliamo di fotografie scattate con i più moderni cellulari alle pazzesche risoluzioni di oggi..ci penserei due volte. Facciamo tre.