Bonjour,
Je développe une application mobile (phonegap / html - js) qui prends des photos, et les envois à un serveur via REST.
Pour cela, lorsque l'application mobile prends la photo, je récupère le code de la photo en base64, je scinde ce code (donc une chaîne très longue) tous les 1000 caractères par exemple, je boucle dessus, et j'envoi au serveur REST ces portions de 1000, le serveur lui les concaténant dans un champs BLOB de type text.
Le problème est que sur des grosses photos cela ne passe pas.
Je n'arrive pas à identifier si cela proviens de la limitation du BLOB (je ne pense pas), ou alors de l'algo sur le serveur
Vu que je reste un grand débutant sous delphi, peut être que je dois utiliser une autre méthode ? Un stream ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 procedure TServerMethods.addObservationPictureDatas(const user, pass, numObs, pictureDatas : string); var currentPictureDatas: string; begin // On crée l'objet de base de données with getSyncFrbf( getNumUser( user, pass ) ) do begin // On insère la nouvelle chaine RequestParams.Add( 'pictureDatas', pictureDatas ); RequestParams.Add( 'numobs', numObs ); Request.Add( 'UPDATE REC_OBSERVATIONS SET PICTUREDATAS = ' ); Request.Add( '(SELECT PICTUREDATAS FROM REC_OBSERVATIONS WHERE NUM_OBS = :numobs) || :pictureDatas' ); Request.Add( 'WHERE NUM_OBS = :numobs' ); ExecSQLAndCommit; Free; end;
Merci pour votre aide
Partager