PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2025 → Problème HTTPEnvoie formulaire Android
Problème HTTPEnvoie formulaire Android
Débuté par Chris, 29 mar. 2025 01:10 - 1 réponse
Posté le 29 mars 2025 - 01:10
Bonjour,

Ce sujet a plutôt pour vocation d'aider plutôt que d'en demander.

Si certains se demandent dans certains cas pourquoi envoyer un fichier avec HTTPEnvoieFormulaire pose problème pour des configurations Android, il suffit de passer les paramètres en chaine ANSI. Voici un extrait de mon code:
reqFILES.URL = APIURL_FILES
reqFILES.Entête["Authorization"] = "Bearer " + APIKEY
reqFILES.Méthode = httpPost
HTTPCréeFormulaire("FORM")
HTTPAjouteParamètre("FORM", ChaîneVersUTF8("NomDuParametre"), ChaîneVersUTF8("Parametre"))
SI fFichierExiste(fichier_pdf_EnCours) ALORS
SI HTTPAjouteFichier("FORM", "file", fichier_pdf_EnCours, typeMimeFormulaireMultiPartie) ALORS
Info("fichier envoyé")
repFILES = HTTPEnvoieFormulaire("FORM", reqFILES)
SELON repFILES.CodeEtat
CAS 200
Info("Envoi ok")
AUTRE CAS
ErreurJSON est un JSON = repFILES.Contenu
Erreur("Erreur envoie", repFILES.CodeEtat + " " + repFILES..DescriptionCodeEtat, ErreurJSON)
FIN
SINON
Info(ErreurInfo(errMessage))
FIN
SINON
Info("Fichier absent")
FIN

Merci, bon courage à tous...
Posté le 02 avril 2025 - 12:21
J'ai l'impression que "nativement" windev ne gère pas bien les requêtes http sur Android en UTF-8

J'utilise le protocole OpenID
Pas de souci pour me connecter avec AuthIdentifie (et pas de souci pour vérifier avec AuthVérifieAuthentification)

Mais derrière si j'utilise
AuthDéconnecte -> Erreur : Missing parameters: id_token_hint
RenouvelleToken -> Erreur : Missing form parameter: grant_type

J'ai du réécrire les requêtes HTTP pour passer de l'UTF8 !!!
Exemple pour RenouvelleToken :
bufContenu est un Buffer = ChaîneVersUTF8("grant_type=refresh_token&client_id=" + gsUser_endpoint_name + "&refresh_token=" + gRefreshToken)
cMaRequete.Contenu = bufContenu

Et là pas de soucis
Bug Windev pour Android ?