ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Web-specific functions / Miscellaneous WEBDEV functions
  • Présentation
  • Mettre en place le téléchargement d'un fichier dans un site WEBDEV
  • Utilisation de la fenêtre de description des champs (champ Bouton, Lien, ...)
  • Programmation
  • Astuce : forcer le téléchargement du fichier (uniquement par programmation)
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Download (téléchargement) de fichiers
Présentation
Le download (ou téléchargement) est l'opération qui consiste à enregistrer sur le poste de l'internaute un fichier stocké sur le serveur. Le fichier est "downloadé" ou "téléchargé" sur le poste de l'internaute.
Quelques exemples :
  • Proposer le chargement de la bande annonce d'un film sur un site de location de DVD.
  • Télécharger des documents dans une application de gestion documentaire.
Mettre en place le téléchargement d'un fichier dans un site WEBDEV
WEBDEV propose plusieurs méthodes pour effectuer un téléchargement de fichier dans un site :
  • fenêtre de description du champ Bouton ou du champ Lien permettant d'effectuer le téléchargement.
  • programmation en WLangage.

Utilisation de la fenêtre de description des champs (champ Bouton, Lien, ...)

Pour proposer un téléchargement :
  1. Créez un champ de type "Lien", "Bouton", ...
  2. Affichez la fenêtre de description du champ.
  3. Dans l'onglet "Général", sélectionnez le type "Lien personnalisé (email, téléphone, ...)".
  4. Dans la zone "Adresse", sélectionnez "Fichier".
  5. Indiquez le chemin complet du fichier (répertoire + Nom) présent sur le serveur. Le fichier doit être présent dans le répertoire "_WEB" du site.
En exécution, lors du clic sur ce champ Lien ou Bouton :
  • si le type du fichier est connu, le fichier sera directement ouvert dans le navigateur
  • si le type du fichier est inconnu ou correspond à un exécutable, une boîte de dialogue permettra de télécharger ce fichier et / ou de l'exécuter directement.

Programmation

Pour proposer le téléchargement d'un fichier par programmation, il suffit d'utiliser la fonction FichierAffiche dans le code de clic serveur du champ Bouton ou du champ Lien permettant de télécharger le fichier.
Le répertoire spécifié pour le fichier doit être un répertoire accessible et dans lequel il est possible d'écrire (par exemple, le répertoire des données (fonction fRepDonnées) ou le répertoire des ressources (fonction fRepWeb)).
Exemple :
// Affiche le fichier dans le navigateur
// (si le format est connu sur le système, le fichier s'affiche directement)
FichierAffiche(ComplèteRep(fRepWeb()) + "NOTES.TXT", "text/plain")
En exécution, lors du clic sur ce champ Lien ou Bouton :
  • si le type du fichier est connu, le fichier sera directement ouvert dans le navigateur.
  • si le type du fichier est inconnu ou correspond à un exécutable, une boîte de dialogue permettra de télécharger ce fichier et/ou de l'exécuter directement.

Astuce : forcer le téléchargement du fichier (uniquement par programmation)

Pour forcer le téléchargement quel que soit le type du fichier à télécharger , il suffit d'utiliser la ligne de code suivante (dans le code de clic serveur du champ Bouton ou Lien permettant le téléchargement) :
FichierAffiche(ComplèteRep(fRepWeb()) + "NOTES.TXT", "application/unknown")
Cependant, le nom du fichier proposé en téléchargement ne correspond pas à un nom valide. Pour proposer immédiatement le nom du fichier à télécharger, il suffit de rajouter ce nom à la suite des paramètres de la fonction FichierAffiche.
FichierAffiche(ComplèteRep(fRepWeb()) + "NOTES.TXT", ...
"application/unknown", "Notes.TXT")
Minimum version required
  • Version 9
Comments
Limitation de fichierAffiche
Il n'est pas possible de télécharger plusieurs fichiers (limitation Web). Astuce pour télécharger plusieurs fichiers: passer par un ZIP.
Pascal ROHMER
27 Apr. 2020
comment télécharger sur un site chez un hébergeur ?
Comment proposer le téléchargement d'un document mis chez un hébergeur où il faut donner le mot de passe ?
Smokie68
27 Jan. 2020
Example Download Files via Mobile, Webdev, Windev (Download de arquivos)
//HTM_Download..URL="http://www.7-zip.org/a/7z920.exe"

OK is boolean = HTTPRequest("http://www.7-zip.org/a/7z920.exe")

IF OK = True THEN

Arquivo is Buffer = HTTPGetResult(httpResult)

IF InSimulatorMode() = True
OK = fSaveBuffer("c:\download\7z920.exe",Arquivo)
ELSE
OK = fSaveBuffer("/mnt/sdcard/7z920.exe",Arquivo)
END

IF OK = True THEN

IF InSimulatorMode() = True
OK = fFileExist("c:\download\7z920.exe")
ELSE
OK = fFileExist("/mnt/sdcard/7z920.exe")
END

IF OK = True THEN
Info("Download do arquivo 7z920.exe com sucesso!")
ELSE
Error("Nao foi possivel encontrar o arquivo do 7z920.exe. "+ErrorInfo(errMessage))
END

ELSE
Error("Nao foi possivel efetuar o download do 7z920.exe. "+ErrorInfo(errMessage))
END

ELSE

Error("URL nao encontrado para download do 7z920.exe. "+ErrorInfo(errMessage))

END
adrianoboller
17 Jan. 2015

Last update: 05/25/2022

Send a report | Local help