PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WEBDEV 2024 → FTPRécupère ne ramène pas le fichier sur mon poste
FTPRécupère ne ramène pas le fichier sur mon poste
Iniciado por APJ, 16,mar. 2020 11:11 - 7 respuestas
Miembro registrado
9 mensajes
Publicado el 16,marzo 2020 - 11:11
Bonjour à tous.

Je ne sais pas si quelqu'un a déjà eu le problème, ou peut-être que je ne comprends pas bien le mécanisme de la commande FTPRécupère sous Wevdev25

Je veux récupérer un fichier présent sur le serveur à mettre sur mon poste, afin de l'ouvrir ensuite.

Ma commande est celle-ci :

FTPRécupère(numconnexion,fRepWeb()+"\tempdoss\"+nom_fichier,"C:\TEMP\")



La commande me ramène "Vrai", la connexion au serveur est OK.

Le fichier présent dans le répertoire du serveur "fRepWeb()+"\tempdoss\" est bien copié dans le répertoire de destination "C:\Temp", mais il s'agit du "C:\Temp" du même serveur et non celui de mon poste ...

Du coup, je ne comprends pas bien l'intérêt du FTPRécupère si ce comportement est normal ..

Ai-je oublié quelque chose ? Y a-t-il un paramètre à modifier ?

Merci d'avance pour vos conseils..
Publicado el 16,marzo 2020 - 16:13
Bonjour,

Le problème ne vient pas des fonctions FTP mais de ta compréhension du
fonctionnement de WEBDEV : tu as écrit ton code de récupération dans le
code du serveur donc celui qui se connecte en FTP et qui récupère le
fichier c'est le serveur et pas le navigateur.

Il n'est pas possible de récupérer un fichier FTP depuis le navigateur,
si tu veux "Downloader" un fichier du serveur vers le navigateur il
faut regarder du côté de cette fonction https://doc.pcsoft.fr/?3012025
Miembro registrado
9 mensajes
Publicado el 17,marzo 2020 - 08:33
Bonjour Pierre.

Merci pour ta réponse claire et merci pour le lien.

Effectivement, j'ai toujours un peu de mal de revenir au webdev.

J'utilise bien le "FichierAffiche" qui télécharge le fichier. Mais pour une raison inconnue, dans une boucle, il télécharge un fichier sur les 2 à récupérer. Pourtant, le "FTPrécupère" "copie" bien les 2 fichiers, lui ,dans la même boucle. Mais c'est un autre problème.

Merci encore pour ton éclaircissement.
Publicado el 17,marzo 2020 - 09:35
Bonjour,


Téléchargement de fichiers volumineux

Le téléchargement de fichiers via la fonction FichierAffiche peut être
plus lent que le téléchargement direct par un lien http.
Dans le cas de la fonction FichierAffiche, le moteur WEBDEV :
Ouvre le fichier à télécharger.
Transfère le fichier au serveur Web en lui demandant d’envoyer le
fichier vers l’internaute.
Dans le cas d’un lien http, c’est le navigateur de l'internaute qui va
chercher directement le fichier à télécharger.
Pour des fichiers volumineux, il est conseillé d’utiliser un lien http.
Dans ce cas, le chemin et le nom du fichier à télécharger peuvent être
paramétrés grâce à la propriété ..URL.
Miembro registrado
9 mensajes
Publicado el 20,marzo 2020 - 11:45
Bonjour Pierre.

J'ai vu effectivement la différence entre le FichierAffiche et le téléchargement via HTTP.

Dans mon cas, les fichiers ne sont pas volumineux.

Au lieu d'utiilser la boucle, j'ai créé un bouton où je mets uniquement 2 FichierAffiche tout simples, l'un après l'autre , seul le premier fichier s'ouvre dans un nouvel onglet du navigateur. Les 2 fichiers sont pourtant présents dans le répertoire.

FichierAffiche(fRepWeb()+"\tempdoss\sites.pdf","application/pdf")

FichierAffiche(fRepWeb()+"\tempdoss\Envoi_photos.pdf","application/pdf")


Est-ce normal ?
Miembro registrado
950 mensajes
Popularité : +53 (63 votes)
Publicado el 20,marzo 2020 - 15:18
Bonjour,

La fonction FichierAffiche est bloquante, tu ne peux donc pas enchainer du code après l'appel d'un fichieraffiche

jordan
Publicado el 20,marzo 2020 - 17:00
ton problème vient de la non compréhension du fonctionnement d'un site web... le voici :

- le coté client demande quelque chose (une requete faite au serveur)
- le serveur envoie UNE réponse...

La partie importante, dans ton cas est le mot "UNE"
Le serveur ne peut pas afficher deux pages, renvoyer deux fichiers ou faire deux réponses quelconques au navigateur...
Donc, un pageaffiche, fichieraffiche ou équivalent est la FIN de la communication

Deux fichierAffiche ou une boucle coté serveur auront le même résultat

Donc, soit tu zippe tous ls fichiers à renvoyer sur le serveur et à la fin tu envoie le zip au client, soit tu fais une boucle COTE CLIENT et tu demande un fichier au serveur à chaque tour de la boucle.
Miembro registrado
9 mensajes
Publicado el 25,marzo 2020 - 18:10
Bonjour Jordan et Argus

Merci pour vos réponses. C'est ce que j'en comprenais pour l'exécution de 2 Fichieraffiche à suivre. Vous venez de me le confirmer avec des explications claires..