DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Types disponibles / Champ Upload
  • Présentation
  • Champ d'une page dynamique ou statique
  • Créer un champ de type Upload
  • Caractéristiques du champ
  • Remarques
  • Champ upload multi-fichiers en AWP
  • Divers
  • Taille maximale des fichiers à uploader
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
Présentation

Champ d'une page dynamique ou statique

Le champ Upload permet d'uploader des fichiers sur le serveur Web.
WEBDEV propose un champ Upload avancé, opérationnel immédiatement. Il est composé de plusieurs champs (pouvant être supprimés si nécessaire) :
  • Zone répétée permettant de gérer les fichiers à uploader. Cette zone répétée permet d'indiquer les caractéristiques des fichiers, affiche une jauge pendant l'upload et propose un bouton permettant de supprimer si nécessaire le fichier de la liste.
  • Libellé indiquant l'endroit où déposer les fichiers à uploader.
  • Bouton "Ajouter" permettant d'ajouter les fichiers.
  • Bouton "Envoyer" pour lancer l'upload des fichiers.
Ce champ peut être utilisé en mode monofichier ou en mode multifichier.
Le champ Upload gère directement le Drag and Drop de fichiers depuis l'explorateur (si le navigateur supporte la norme HTML 5). Pour plus de détails, consultez Manipuler un champ Upload par programmation.
Remarques :
  • Ces champs proposent la génération en mode HTML 5 en version 22 (nouveauté de la version 22, voir Caractéristiques du champ).
  • Le champ de saisie de type Upload est conservé pour compatibilité. Pour plus de détails, consultez Upload de fichiers.
  • Le champ pré-défini proposé pour l'upload est asynchrone : il est possible de continuer à utiliser le site en cours sans être bloqué par l'upload.

Créer un champ de type Upload

Pour créer un champ de type Upload :
  1. Sous l'éditeur de pages, sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton".
  2. Dans la liste qui s'ouvre, sélectionnez le type de champ "Envoi de fichiers (Upload)".
  3. Cliquez dans la page à la position où le champ doit être créé. Le champ apparaît dans la page.
Pour afficher les caractéristiques du champ, sélectionnez l'option "Description" dans le menu contextuel du champ de type Upload (bouton "Envoyer" ou "Ajouter").
Le code WLangage de gestion de l'upload est présent dans les événements associés au champ Upload. Ce code peut être modifié à votre convenance.
Important : L'événement "Réception des fichiers uploadés" doit être modifié avant de déployer le site. Un exemple de code est fourni en commentaire. Ce code peut par exemple :
  • copier les fichiers uploadés dans un répertoire spécifique du site,
  • insérer les fichiers uploadés dans un mémo binaire, ...
Pour plus de détails, consultez Evénements associés à un champ Upload.

Caractéristiques du champ

Plusieurs options spécifiques sont disponibles dans l'onglet "Détail" et dans l'onglet "UI" de la description du champ Upload (accessible par la description du bouton "Ajouter") :
  • Sélection multifichier (onglet "UI") : autorise la multisélection dans le champ. Si cette option n'est pas cochée, seul l'upload d'un unique fichier sera possible.
  • Générer une image pour le bouton, avec libellé incrusté (pour compatibilité) (onglet "Détail") : génère une image contenant l'aspect graphique du bouton. Le libellé du bouton est incrusté dans l'image associée au bouton. L'aspect du bouton sera ainsi préservé quel que soit le navigateur.
  • Gestion du Glisser/Déplacer (onglet "UI") : Permet d'autoriser le "Drag and Drop" depuis l'explorateur de Windows. Pour plus de détails, consultez Gérer le Drag and Drop des fichiers vers un champ Upload (HTML 5).
Remarques

Champ upload multi-fichiers en AWP

Un champ Upload multi-fichiers en AWP crée implicitement un contexte AWP sur disque. Ce type de champ est incompatible avec la gestion des contextes à l'aide de cookies. Pour plus de détails sur les contextes AWP, consultez Gestion des contextes AWP.

Divers

Le champ Upload ne peut pas être utilisé dans une zone répétée Ajax.

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 Web utilisé. Pour plus de détails, consultez la documentation du serveur Web utilisé.
  • 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. Cette modification peut être réalisée pour toutes les applications WEBDEV.
Pour modifier la taille des fichiers uploadés pour toutes les applications WEBDEV :
  1. Sélectionnez la clé de registre suivante :
    • Sur un poste 64 bits : HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PC SOFT\WEBDEV\29.0
    • Sur un poste 32 bits : HKEY_LOCAL_MACHINE\SOFTWARE\PC SOFT\WEBDEV\29.0
  2. Ajoutez la clé de type chaîne MAX_UPLOAD. La valeur de cette clé correspond à la taille maximale des fichiers à uploader (en Ko).
Remarque : Il peut également exister une limite liée au serveur Web (IIS, Apache, ...). Pour IIS, par exemple, il est possible d'éditer le fichier XML "%windir%\system32\inetsrv\config\applicationhost.config" et de créer ou modifier l'attribut "maxAllowedContentLength" de la balise "requestLimits" en spécifiant la taille en octets.
Exemple pour mettre la limite à 50 Mo dans IIS :
<system.webServer>
          <security>
.....
<requestFiltering>
.....
<requestLimits maxAllowedContentLength="52428800"/>
</requestFiltering>
....
PHP Limites en PHP :
  • La taille des fichiers uploadés est limitée par les directives "upload_max_filesize" et "post_max_size" 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.
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
Version minimum requise
  • Version 15
Commentaires
Attention dgbassertion n'est plus présent en V22
Le code de réception des fichiers uploadés se trouve dans le bouton ajouter

// Insérer ici le code de traitement des fichiers uploadés
// Exemple de code :
// Copie le fichier uploadé dans un répertoire spécifique
//POUR i = 1 _A_ MoiMême..Occurrence
// UploadCopieFichier(MoiMême, sRépertoireDestination, "", i)
//FIN

dbgassertion n'est plus présent


Important : Le traitement "Réception des fichiers uploadés" doit être modifié avant de déployer le site. Ce traitement contient un appel à la fonction dbgAssertion. Il doit être remplacé par le code permettant par exemple :
Hervé Franco
05 oct. 2017

Dernière modification : 22/06/2023

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