|
Photo Windev Mobile Andoid 20 envoyé à Web Service Windev 20 |
Started by ChouLAGH, Jan., 12 2017 7:26 PM - 4 replies |
| |
| | | |
|
| |
Registered member 251 messages Popularité : +1 (1 vote) |
|
Posted on January, 12 2017 - 7:26 PM |
Bonjour, Je sais que le sujet a déjà été abordé mais je suis perdu car je ne trouve pas de solution complète qui va. Voici la problèmatique : 1) dans une application Windev Mobile 20 en Android : dans une fenêtre je prends une photo et je l'affiche dans un champ image : pas de problème : ================================ IMG_Photo="" // Prise d'une photo : variable sPhoto est une chaine déclarée au niveau de la fen VidéoParamètre(vipRotationAuto,Vrai) sPhoto= VidéoLanceAppli(viCaptureImage) SI sPhoto<>"" ALORS IMG_Photo=sPhoto SINON IMG_Photo="" FIN ================================
2) dans le clic d'un autre de cette fenêtre Android : je crypte la photo et je l'envoie à un Web Service écrit par Windev 20 et déployer sur le CLoud PC Soft. ================================== // Récupération du contenu de l'image
bufFichier est un Buffer = fChargeBuffer(sPhoto) bufCle est un Buffer = HashChaîne(HA_MD5_128, "123456789012345") bufCrypte est un Buffer = CrypteStandard(bufFichier, bufCle, crypteAES128)
// appeler le WebService pour stocker la photo // je lui pase un identifiant, un mot de passe, un numéro de tél et le buffer ci-dessys sReponse est une chaîne=stockerPhoto("clag....","La......","+33611.......",bufCrypte) Info(sReponse) ===================================== j'obtiens une réponse OK qui veut dire que le Web service a bien écrit quelque chose dans la BD
3) Le Web service et sa fonction "stockerPhoto a accès à une BD Hyperfile dans laquelle : il y a un fichier Participants : je modifie la photo, la date modif et heure modif ====================================== PROCEDURE stockerPhoto(sIdentifiant est une chaîne,sMdp est une chaîne,sTelMind est une chaîne,bufSPhoto est un Buffer) sRep est une chaîne="" SI sIdentifiant=gsIDpourWS ET sMdp=gsPWDpourWS ALORS SI HLitRecherche(Participants,telMIndic,sTelMind,hIdentique)=Vrai ALORS bufCle est un Buffer = HashChaîne(HA_MD5_128, "123456789012345") sRésultat est un Buffer = DécrypteStandard(bufSPhoto, bufCle, crypteAES128) sphoto est une Image=sRésultat Participants.photo=sRésultat Participants.dateModification=DateSys() Participants.heureModif=HeureSys() HModifie(Participants) sRep="OK" SINON sRep="KO non trouvé" FIN SINON sRep="KO identifiants" FIN RENVOYER sRep =========================================== RESULTAT : je reçois dans l'application mobile la réponse OK mais quand j'examine le fichier Participants : la photo est absente mais la date et l'heure modif sont bien renseignées. ============================================ Sujet maintes fois abordés mais ça n'empêche que je tourne en rond.
Si une âme charitable peut m'aider
merci
-- Chouaïb
-- Chouaïb |
| |
| |
| | | |
|
| | |
| |
Registered member 251 messages Popularité : +1 (1 vote) |
|
Posted on January, 12 2017 - 9:58 PM |
Je me réponds à moi même car j'ai trouvé la solution grâce à une autre discussion dans ce même forum. Donc si cela peut faire gagner du temps ================================== 1) Application Windev Mobile 20 Android : ================================== Une fenêtre contenant un bouton pour prendre une photo, un champ image pour visualiser la photo prise et un bouton pour envoyer la photo au webservice windev ==================== 1.1) Code Bouton prendre photo : ==================== IMG_Photo="" // Prise d'une photo VidéoParamètre(vipRotationAuto,Vrai) sPhoto= VidéoLanceAppli(viCaptureImage) // sPhoto est une variable chaine déclarée au niveau de la fenetre SI sPhoto<>"" ALORS IMG_Photo=sPhoto SINON IMG_Photo="" FIN ====================== 1.2) code bouton pour envoyer la photo au webservice ====================== // Récupération du contenu de l'image bufFichier est un Buffer = fChargeBuffer(sPhoto) sPhotoHexa est une chaîne=BufferVersHexa(bufFichier)
// appeler le WebService pour stocker la photo : je lui passe un identifiant, un mot de passe, un n° telephone et la photo sReponse est une chaîne=stockerPhoto("clag....","La.....","+336.....",sPhotoHexa) Info(sReponse) // ==================================== 2) Le Webservice réalisé avec Windev 20 ==================================== PROCEDURE stockerPhoto(sIdentifiant est une chaîne,sMdp est une chaîne,sTelMind est une chaîne,sPhoto est une chaîne) sRep est une chaîne="" SI sIdentifiant=gsIDpourWS ET sMdp=gsPWDpourWS ALORS SI HLitRecherche(Participants,telMIndic,sTelMind,hIdentique)=Vrai ALORS bufSPhotoBuffer est un Buffer = HexaVersBuffer(sPhoto)
sLaphoto est une Image=bufSPhotoBuffer Participants.photo=sLaphoto Participants.dateModification=DateSys() Participants.heureModif=HeureSys() HModifie(Participants) sRep="OK" SINON sRep="KO non trouvé" FIN SINON sRep="KO identifiants" FIN RENVOYER sRep
================================================================= // ca marche : la photo est bien enregistrée dans le fichier HF : elles est de type son, image, binaire
Merci de votre Aide
-- Chouaïb |
| |
| |
| | | |
|
| | |
| |
Registered member 16 messages |
|
Posted on March, 19 2017 - 12:00 AM |
bonjour,
Merci beaucoup pour ta solution. cependant, j'aurai une question. tu n'aurais pas un moyen pour réduire le poids et la taille de l'image ? |
| |
| |
| | | |
|
| | |
| |
Registered member 251 messages Popularité : +1 (1 vote) |
|
Posted on March, 20 2017 - 11:12 AM |
Bonjour Fres-SQS, Pour réduire la taille de ma photo, j'ai procédé ainsi : 1) dans ma fen Android , je crée deux champs Images : IMG_Photo et IMG_Photo2. ce dernier est de hauteur et largeur plus petites et invisible IMG_Photo montre la photo prise et je fais IMG_Photo2=IMG_Photo
2) j'envoie au webservice IMG_Photo2 qui est de plus petite taile.
Cordialement
-- Chouaïb |
| |
| |
| | | |
|
| | |
| |
Registered member 16 messages |
|
Posted on March, 21 2017 - 4:43 AM |
Bonjour ChouLAGH,
Merci pour la réponse. J'ai justement, fait un peu comme cela. la photo que je prend est placé dans un champ image de 135x75. Mais Windev Mobile va chercher le fichier dans la bibliothèque et donc l'envoyer dans sa taille originale. |
| |
| |
| | | |
|
| | | | |
| | |
|