OVH Cloud OVH Cloud

[WD10] Téléchargement de fichier

3 réponses
Avatar
wd_newbie
Bonjour, j'essaie depuis un moment a t=E9l=E9charger un fichier depuis le
web sur mon ordinateur au moyen de httprequ=EAte().


Je me suis bas=E9 sur les exemples de WD , mais tout ce que j'arrive a
avoir c'est un fichier temp.zip de 1ko et qui ne contient rien ( je ne
suis meme pas sur que ce soit un "vrai" zip ...)

Si je mets l'URL dans le navigateur, pas de soucis, il me le
t=E9l=E9charge ...

Une id=E9e ?

merci d'avance


Olivier

mon code :
//----------------------------------
ResAppel est un bool=E9en
IdFichier est un entier


IdFichier =3D fOuvre("zip\temp.zip", foCr=E9ation)
SI IdFichier <> -1 ALORS
// R=E9cup=E9ration du fichier
ResAppel =3D
HTTPRequ=EAte("http://www.monsite.fr/getzip.html/LE%20RANCH%20DE%20LA%20VEN=
GEANCE.zip")
SI ResAppel =3D Vrai ALORS
// Enregistrement de l'image r=E9cup=E9r=E9e dans le fichier
fEcrit(IdFichier, HTTPDonneR=E9sultat(), Taille(HTTPDonneR=E9sultat()))
=09
FIN
// Fermeture du fichier
fFerme(IdFichier)
FIN

3 réponses

Avatar
wd_newbie
Gilles a écrit :

Je ne suis pas sûr que tu puisses appeler plusieurs fois
HttpDonneResultat.

Fais simplement httprequete et fsauvetexte() du résultat.



Oui cela fonctionne, mais est-ce vraiment élégant de faire un
fsauvetexte() sur un fichier binaire ?

Merci pour ta réponse


Olivier
Avatar
wd_newbie
Gilles a écrit :

La fonction porte mal son nom.
Un fichier, ca ne reste qu'une suite d'octets.
fSauveTexte sauve une suite d'octet sur le disque.
Et un fichier "texte", ca reste un fichier binaire non? ;)



effectivement , mais je suis nouveau en WL, et je m'attendais a trouver
un fSauveFichier ;-))

Merci beaucoup


Olivier
Avatar
Florence
Bonsoir, moi j'aurais ouvert le fichier dans ton dossier Zip dans un premier
temps. Puis si il n'existe pas, à ce moment, je l'aurais ouvert directement
depuis le site.


"Gilles" a écrit dans le message de news:

wd_newbie a présenté l'énoncé suivant :
Bonjour, j'essaie depuis un moment a télécharger un fichier depuis le
web sur mon ordinateur au moyen de httprequête().
Si je mets l'URL dans le navigateur, pas de soucis, il me le
télécharge ...
IdFichier = fOuvre("ziptemp.zip", foCréation)
SI IdFichier <> -1 ALORS
// Récupération du fichier
ResAppel >> HTTPRequête("http://www.monsite.fr/getzip.html/LE%20RANCH%20DE%20LA%20VENGEANCE.zip")
SI ResAppel = Vrai ALORS
// Enregistrement de l'image récupérée dans le fichier
fEcrit(IdFichier, HTTPDonneRésultat(), Taille(HTTPDonneRésultat()))



Je ne suis pas sûr que tu puisses appeler plusieurs fois
HttpDonneResultat.

Fais simplement httprequete et fsauvetexte() du résultat.