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).