DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions spécifiques au WEB / Fonctions upload
  • Taille maximale des fichiers à uploader
  • Nom du fichier uploadé
  • Sessions prélancées
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
Enregistre sur le serveur un fichier "uploadé" par l'internaute. Cet upload a pu être effectuée :
  • via un champ de saisie de type "Upload".
  • via un champ Upload mono ou multi-fichiers.
Lors de cet enregistrement, il est possible de renommer le fichier copié sur le serveur.
Ajax Cette fonction est disponible en Ajax uniquement pour les nouveaux champs Upload mono ou multi-fichiers.
// Récupération du fichier envoyé par le client
refFic est une chaîne
refFic = UploadCopieFichier(SAI_File, "C:\Documents", "REF_3304")
// Si le fichier source est : "/User/Truc.jpg"
// refFic = "REF_3304.jpg" et le fichier a Ã©té copié dans "C:\documents\REF_3304.jpg"
// Upload réalisé Ã  partir d'un champ Upload multifichier
// Pour chaque fichier envoyé
POUR i = 1 _À_ UPL_Upload..Occurrence
// Copie le fichier dans le répertoire des données
UploadCopieFichier(UPL_Upload, fRepDonnées(), "",  i)
FIN
Syntaxe
<Résultat> = UploadCopieFichier(<Champ Upload> , <Chemin sur le serveur> , <Nom du fichier> [, <Indice du fichier>])
<Résultat> : Chaîne de caractères
  • Nom (nom + extension) du fichier uploadé sur le serveur (ne contient pas le chemin du fichier),
  • Chaîne vide ("") en cas d'erreur.
<Champ Upload> : Chaîne de caractères
Nom du champ Upload manipulé. Ce champ peut correspondre :
  • à champ de saisie de type "Upload". Ce champ contient le nom et le chemin du fichier à envoyer sur le serveur.
    Remarque : il est possible d'utiliser l'attribut d'un champ Zone répétée (propriété Valeur pour l'attribut).
  • à un champ Upload monofichier ou multifichier.
<Chemin sur le serveur> : Chaîne de caractères
Chemin du répertoire du serveur où le fichier doit être copié. Ce chemin peut par exemple correspondre au chemin renvoyé par la fonction fRepDonnées. Ce chemin peut également correspondre à fRepEnCours, mais les hébergeurs donnent rarement les droits pour écrire dans ce répertoire.
Linux Ce paramètre n'est pas pris en compte. Le fichier est uploadé dans le répertoire "/tmp" du serveur Linux. Ce répertoire est non modifiable.
<Nom du fichier> : Chaîne de caractères
Nom du fichier (nom et extension) uploadé sur le serveur. Si le fichier existe déjà, il est automatiquement écrasé.
Si ce paramètre correspond à :
  • une chaîne vide ("") : le nom du fichier sur le serveur sera identique au nom du fichier sur le poste de l'internaute.
  • uniquement le nom du fichier (sans l'extension), l'extension du fichier sur le serveur sera identique à l'extension du fichier sur le poste de l'internaute.
  • le nom du fichier et l'extension du fichier, ce nom et cette extension seront utilisés pour la copie du fichier sur le serveur.
<Indice du fichier> : Entier optionnel
Indice du fichier à enregistrer sur le serveur. Ce paramètre est utilisé uniquement dans le cas d'un upload réalisé avec le champ Upload multi-fichiers. Par défaut, cet indice correspond à 1.
Remarques

Taille maximale des fichiers à uploader

Par défaut, la taille des fichiers à uploader est illimitée dans le moteur WEBDEV. Cette taille peut être limitée par le serveur d'application WEBDEV.
Si le fichier à uploader dépasse la taille limite, le fichier n'est pas uploadé.
Pour modifier la taille maximale des fichiers à uploader dans le serveur d'application WEBDEV, il est nécessaire de modifier la base de registre sur le serveur :
  1. Pour modifier la taille des fichiers uploadés pour toutes les applications WEBDEV 2024, sélectionnez la clé : HKEY_LOCAL_MACHINE\SOFTWARE\PC SOFT\WEBDEV\29.0 sur une machine 32 bits et HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PC SOFT\WEBDEV\29.0 sur une machine 64 bits.
  2. Ajoutez la chaîne MAX_UPLOAD. Cette chaîne aura pour valeur la taille maximale des fichiers à uploader (en Ko).
PHP Limites en PHP :
  • La taille des fichiers uploadés est limitée par la directive "upload_max_filesize" dans le fichier de configuration de PHP (fichier php.ini).
  • L'upload de fichiers doit être autorisé par le serveur PHP. Pour cela, la directive "file_uploads" doit être à "on" dans le fichier de configuration de PHP (fichier php.ini).
  • La directive upload_tmp_dir du fichier de configuration doit être renseignée vers un répertoire qui possède les droits en lecture/écriture.

Nom du fichier uploadé

La fonction UploadNomFichier permet de connaître le nom d'un fichier "uploadé".

Sessions prélancées

Si votre projet utilise les sessions prélancées, cette fonction ne doit pas être utilisée dans l'événement "Initialisation" du projet. Cette fonction doit être utilisée dans l'événement "Initialisation du projet après connexion au site".
Liste des exemples associés :
Upload ou Download d'un fichier Exemples unitaires (WEBDEV) : Upload ou Download d'un fichier
[ + ] Upload (copier vers le serveur) et download (télécharger depuis le serveur) d'un fichier :
- Copier un fichier du poste navigateur vers le poste serveur
- Télécharger un fichier présent sur le serveur
- Télécharger un fichier présent sur le serveur grâce à un lien
- Télécharger un fichier présent sur le serveur en demandant son ouverture
Composante : wd290page.dll
Version minimum requise
  • Version 9
Commentaires
Nécessité d'activer une option dans l'administrateur Webdev
Ce serait bien de signaler qu'il est nécessaire de cocher l'option "Autoriser les fonctions fCopieFichierRépertoireWeb et fSupprimeFichierRépertoireWeb" dans l'administrateur WEBDEV (option présente dans l'onglet "Avancé" de l'administrateur WEBDEV).

Sans cela aucun upload n'est possible (et aucun message d'erreur n'est même affiché en mode test !)
quentin
12 jan. 2021

Dernière modification : 07/07/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale