PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → WebService - Récupérer un fichier
WebService - Récupérer un fichier
Débuté par Dim Pas, 10 sep. 2025 13:48 - 4 réponses
Posté le 10 septembre 2025 - 13:48
Bonjour,

Je travail avec WinDev 2024.
J'ai un moteur de déploiement WebDev 2024 sur un serveur Linux.

Je souhaiterai pouvoir envoyer des fichiers (pdf, zip, ...) de mes applications WinDev 2024, vers un WebService.

Auriez-vous une expérience en ce domaine, pour me donner les démarchent à suivre, car les codes que j'ai mis en place ne fonctionne pas. Du moins, pour la récupération des données "binaire" de mon fichier.


D'avance merci.
Membre enregistré
4 263 messages
Posté le 11 septembre 2025 - 09:53
Bonjout,Dim Pas a écrit :
car les codes que j'ai mis en place ne fonctionne pas.

Quels sont-ils ?

--
Il y a peut être plus simple, mais, ça tourne
Quand tout a échoué, utilise l'option RTFM
Posté le 11 septembre 2025 - 11:22
Voroltinquo a écrit :
Bonjout,Dim Pas a écrit :
car les codes que j'ai mis en place ne fonctionne pas.

Quels sont-ils ?


--
Il y a peut être plus simple, mais, ça tourne
Quand tout a échoué, utilise l'option RTFM


Bonjour,

Merci de prendre de votre temps, pour m'aider.

Voici l'un de mes multiple codes mis en place et qui ne fonctionne pas.

Côté client
sCheminFichier est une chaîne = "C:\fichiers\test.txt"
sURLWebservice est une chaîne = "http://192.168.1.5/UploadFile/"
bMonFichierBuf est un Buffer
bBufferEncode est un Buffer

MaRequêteREST est une restRequête
MaRéponseREST est une restRéponse

bMonFichierBuf = fChargeBuffer(sCheminFichier)
bBufferEncode = Encode(bMonFichierBuf,encodeBASE64URL)

MaRequêteREST.URL = sURLWebservice
MaRequêteREST.Méthode = httpPost
MaRequêteREST.ContentType = "application/octet-stream"

MaRéponseREST = RESTEnvoie(MaRequêteREST)


Dans la réponse, j'ai un code 200 OK. Comme je fais un fsauvebuffer, j'ai bien un fichier qui se créé, mais toujours vide.
Quand je consulte ma trame http(s), je vois passer le buffer, mais je n'arrive pas à récupérer les données dans ma procédure.

Je ne vois pas ce que je dois mettre dans la partie serveur, pour récupérer mon buffer.

J'y ait mis (sans résultat) :

WebserviceParamètre(....)
WebserviceLit....
HTTPDonneRésultat()


Encore merci de votre aide
Posté le 11 septembre 2025 - 11:22
Voroltinquo a écrit :
Bonjout,Dim Pas a écrit :
car les codes que j'ai mis en place ne fonctionne pas.

Quels sont-ils ?


--
Il y a peut être plus simple, mais, ça tourne
Quand tout a échoué, utilise l'option RTFM


Bonjour,

Merci de prendre de votre temps, pour m'aider.

Voici l'un de mes multiple codes mis en place et qui ne fonctionne pas.

Côté client
sCheminFichier est une chaîne = "C:\fichiers\test.txt"
sURLWebservice est une chaîne = "http://192.168.1.5/UploadFile/"
bMonFichierBuf est un Buffer
bBufferEncode est un Buffer

MaRequêteREST est une restRequête
MaRéponseREST est une restRéponse

bMonFichierBuf = fChargeBuffer(sCheminFichier)
bBufferEncode = Encode(bMonFichierBuf,encodeBASE64URL)

MaRequêteREST.URL = sURLWebservice
MaRequêteREST.Méthode = httpPost
MaRequêteREST.ContentType = "application/octet-stream"

MaRéponseREST = RESTEnvoie(MaRequêteREST)


Dans la réponse, j'ai un code 200 OK. Comme je fais un fsauvebuffer, j'ai bien un fichier qui se créé, mais toujours vide.
Quand je consulte ma trame http(s), je vois passer le buffer, mais je n'arrive pas à récupérer les données dans ma procédure.

Je ne vois pas ce que je dois mettre dans la partie serveur, pour récupérer mon buffer.

J'y ait mis (sans résultat) :

WebserviceParamètre(....)
WebserviceLit....
HTTPDonneRésultat()


Encore merci de votre aide
Posté le 11 septembre 2025 - 16:00
Dim a écrit :
Voroltinquo a écrit :
Bonjout,Dim Pas a écrit :
car les codes que j'ai mis en place ne fonctionne pas.

Quels sont-ils ?


--
Il y a peut être plus simple, mais, ça tourne
Quand tout a échoué, utilise l'option RTFM

Bonjour,

Merci de prendre de votre temps, pour m'aider.

Voici l'un de mes multiple codes mis en place et qui ne fonctionne pas.

Côté client
sCheminFichier est une chaîne = "C:\fichiers\test.txt"
sURLWebservice est une chaîne = "http://192.168.1.5/UploadFile/"
bMonFichierBuf est un Buffer
bBufferEncode est un Buffer

MaRequêteREST est une restRequête
MaRéponseREST est une restRéponse

bMonFichierBuf = fChargeBuffer(sCheminFichier)
bBufferEncode = Encode(bMonFichierBuf,encodeBASE64URL)

MaRequêteREST.URL = sURLWebservice
MaRequêteREST.Méthode = httpPost
MaRequêteREST.ContentType = "application/octet-stream"

MaRéponseREST = RESTEnvoie(MaRequêteREST)


Dans la réponse, j'ai un code 200 OK. Comme je fais un fsauvebuffer, j'ai bien un fichier qui se créé, mais toujours vide.
Quand je consulte ma trame http(s), je vois passer le buffer, mais je n'arrive pas à récupérer les données dans ma procédure.

Je ne vois pas ce que je dois mettre dans la partie serveur, pour récupérer mon buffer.

J'y ait mis (sans résultat) :

WebserviceParamètre(....)
WebserviceLit....
HTTPDonneRésultat()


Encore merci de votre aide



Bonjour,

Voilà, c'est résolu.
Merci pour votre soutient.

Pour la partie client, j'avais utilisé des type de variable Rest.... :

MaRequêteREST est une restRequête
MaRéponseREST est une restRéponse


Mais je ne récupérait pas grand chose sur la partie serveur du moins dans le moteur WebDev. En tout cas, pas mon Buffer.

A la place, sur la partie client, j'utilise maintenant le type de variable http.... :

MaRequêteREST est une httpRequête
MaRéponseREST est une httpRéponse


Maintenant sur la partie serveur, je récupère bien mon buffer via la procédure WebserviceParamètre

bBuffer est un Buffer = WebserviceParamètre(paramBuffer)


Bonne continuation.

Cordialement,