1.2.2 Uploader un fichier dans une page 1.2.3 Afficher l
Transcription
1.2.2 Uploader un fichier dans une page 1.2.3 Afficher l
WLangage.book Page 214 Mardi, 23. avril 2013 1:59 13 1.2.2 Uploader un fichier dans une page Pour uploader un fichier dans une page : 1. Créez un champ de saisie de type UPLOAD (le type du champ est défini dans l'onglet "Général" du champ). Grâce à ce champ, l'internaute pourra sélectionner le fichier à "uploader". 2. Ajoutez un bouton ou un lien. Ce champ permettra de télécharger le fichier sur le serveur. Ce bouton ou lien doit être de type "Submit". Lors de la validation de la page grâce à ce bouton, le fichier est uploadé dans un répertoire temporaire du serveur. Ce fichier n'est donc pas visible pour les autres internautes 3. Dans le code de clic serveur de ce bouton ou de ce lien, vous pouvez utiliser : • UploadNomFichier (par exemple UploadNomFichier(<Champ Upload>, Faux)) pour vérifier que le fichier a été uploadé et récupérer son nom. En effet, lors de l'upload, le fichier est renommé avec un nom de fichier temporaire. • UploadCopieFichier afin de copier et de renommer le fichier uploadé sur le serveur. Vous pouvez par exemple copier ce fichier dans le répertoire des ressources (_WEB) ou dans un répertoire accessible par un alias. • HAttacheMémo pour charger l'image dans une rubrique mémo d'un fichier Hyper File. Attention : L'utilisation directe du nom de fichier sur le poste navigateur (lecture de la valeur par la propriété ..Valeur en code serveur ou navigateur) dans des fonctions de gestion de fichiers est une GROSSE erreur. En effet, cette manipulation fonctionne en mode développement (car le serveur est sur le même poste que le navigateur) mais PAS en déploiement. Dans ce cas, le serveur et le navigateur sont machines différentes. Le serveur ne voit pas les fichiers du navigateur. Pour obtenir les noms de fichiers à manipuler, utilisez UploadNomFichier. 1.2.3 Afficher l’image à uploader Pour afficher l'image sélectionnée dans un champ upload (SAI_ChampUpLoad) dans un champ image (IMG_ChampImage) : 1. Dans la fenêtre de description du champ image "ChampImage" (onglet "Général"), décochez l’option "Localiser l’image dans le répertoire _WEB en code navigateur". 214 Partie 5 : Fonctionnalités spécifiques au Web 2. Dans le code de la page, ajoutez le code navigateur optionnel "souris déplacée" (OnMouseMove)". 3. Saisissez le code suivant dans ce code : SI SAI_ChampUpLoad <> "" ALORS SI IMG_ChampImage<> SAI_ChampUpLoad ALORS IMG_ChampImage = SAI_ChampUpLoad FIN FIN Note : Cette manipulation peut ne pas fonctionner selon le navigateur utilisé et le niveau de sécurité défini. Remarque : 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 registres sur le serveur : 1. Pour modifier la taille des fichiers uploadés pour toutes les applications WebDev 18, sélectionnez la clé : HKEY_LOCAL_MACHINE\SOFTWARE\PC SOFT\WEBDEV\18.0 2. Ajoutez la chaîne MAX_UPLOAD. Cette chaîne aura pour valeur la taille maximale des fichiers à uploader (en Ko). Dans le cas d'un transfert important (plusieurs centaines de Mo), il est conseillé d'utiliser le protocole FTP et non pas l'upload. Il est possible d'effectuer un transfert FTP depuis une page WEBDEV, grâce à une applet Java créée avec WINDEV. 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).