Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

WD12 - Télécharger un fichier via HTTP

1 réponse
Avatar
Val
Bonjour

A partir d'un programme WD12, je souhaite télécharger un fichier sur la
machine.

Pour ce faire, j'utilise le code suivant publié dans le forum:

IdFic est un entier
TxtReq est une chaine
UrlFic est une chaine = "www.monsite.fr/Testoriginal.xls" // Fichier à
télécharger
nomfic est une chaine = "c:\Testcopie.xls" // Fichier à écrire

SI HTTPRequête(UrlFic) ALORS
TxtReq = HTTPDonneRésultat(HTTPRésultat)
IdFic = fOuvre(nomfic,foCréation+foEcriture)
SI IdFic <> -1 ALORS
fEcritLigne(IdFic,TxtReq)
fFerme(IdFic)
FIN
FIN

Ca marche.
Oui mais bon, pas de façon satisfaisante.

En effet, si le fichier "Testoriginal.xls" n'existe pas sur le serveur, le
serveur renvoie un message d'erreur.
Donc, HTTPRequête(UrlFic) est toujours à vrai.

Donc, si le fichier "Testoriginal.xls" n'existe pas sur le serveur, en
finalité, le fichier "Testcopie.xls" rapatrié sur la machine contient le
contenu du message d'erreur renvoyé par le serveur et non le contenu du
fichier "Testoriginal.xls"

Donc, avant de lancer le processus, il faudrait s'assurer que le fichier
"Testoriginal.xls" existe sur le serveur.
Une idée avec les fonctions HTTP ?

A+

1 réponse

Avatar
phig
Val a écrit :
Bonjour

A partir d'un programme WD12, je souhaite télécharger un fichier sur la
machine.

Pour ce faire, j'utilise le code suivant publié dans le forum:

IdFic est un entier
TxtReq est une chaine
UrlFic est une chaine = "www.monsite.fr/Testoriginal.xls" // Fichier à
télécharger
nomfic est une chaine = "c:Testcopie.xls" // Fichier à écrire

SI HTTPRequête(UrlFic) ALORS
TxtReq = HTTPDonneRésultat(HTTPRésultat)
IdFic = fOuvre(nomfic,foCréation+foEcriture)
SI IdFic <> -1 ALORS
fEcritLigne(IdFic,TxtReq)
fFerme(IdFic)
FIN
FIN

Ca marche.
Oui mais bon, pas de façon satisfaisante.

En effet, si le fichier "Testoriginal.xls" n'existe pas sur le serveur, le
serveur renvoie un message d'erreur.
Donc, HTTPRequête(UrlFic) est toujours à vrai.

Donc, si le fichier "Testoriginal.xls" n'existe pas sur le serveur, en
finalité, le fichier "Testcopie.xls" rapatrié sur la machine contient le
contenu du message d'erreur renvoyé par le serveur et non le contenu du
fichier "Testoriginal.xls"

Donc, avant de lancer le processus, il faudrait s'assurer que le fichier
"Testoriginal.xls" existe sur le serveur.
Une idée avec les fonctions HTTP ?

A+





teste le retour de l'entete ...
HTTPDonneRésultat(HTTPEntête)

si tu as une erreur 404, le fichier n'existe pas....

my 2 cents....