(Pour les détails voir la doc en ligne, Champ UPLOAD)
Exemple de code que j'utilise... Le fichier ... doit être ouvert La photo est du type image dans l'analyse J'ai utilisé le RAD
Les photos sont enregistrées dans le sous-dossier \images\ du répertoire_web
page "Ajout_Photo" : Une table fichier et des champs de saisie reliés au fichier dont un champ de saisie Upload et un champ Image
Initialisation de Table TABLE (serveur) au cas ou on utilise une table C'est elle qui remplit les champs, dont la photo Sinon l'initialisation des champs reliés est effectuée dans le code d'initialisation de la page (par exemple)
//Code d'init de la table HLITPREMIER(NomFic,CleParcours) // on sélectionne le 1er produit FichierVersPage _PHOTO_img ="\images\"+Pr.photo //_PHOTO_img est le champ image relier à la rubrique Photo du fichier
Clic sur une ligne de Table TABLE (serveur) FichierVersPage _PHOTO_img ="\images\"+Pr.photo PageActualise("ajout_photo")
Affichage d'une ligne de Table TABLE (serveur)
Enregistrement suivant de Table TABLE (serveur)
HLitSuivant(NomFic,CleParcours)
Enregistrement précédent de Table TABLE (serveur)
HLitPrecedent(NomFic,CleParcours)
Dernier enregistrement de Table TABLE (serveur)
HLITDERNIER(NomFic,CleParcours) ------------------------------------------------------------------------ page "Ajout_Produit"
Il faut créer le champ image '_PHOTO_img' /dynamique et relier à la rubrique 'photo' du fichier et créer le champ de saisie' _PHOTO' type Upload / dynamique qui créera un boutin 'parcourir...' à l'exécution du navigateur
Dans le code d'initialisation de la page "Ajout_Produit", insérer en CODE NAVIGATEUR (Vert) Souris déplacée (onmousemove) de ajout_photo (navigateur) //Afficher une image d'un champ upload dans un champ image SI _photo <>"" ALORS SI _photo_img<>_photo ALORS _photo_img = _photo FIN FIN --------------------------------------------------- Clic sur Bouton NOUVEAU (serveur)
sNomFichier est une chaine
//On récupère le fichier image // Rmq : ne pas préciser .."\"+RépertoireWeb()+"\images\" (sinon on ne retrouve plus les images) sNomFichier = UploadCopieFichier("_Photo",frepencours()+"\"+RépertoireWeb(),"") _PHOTO_img = sNomFichier
//On ajoute le produit PageVersFichier()
hajoute("produit") tantque hdejabloque() hajoute("produit") FIN si hDoublon() alors erreur("Ce produit existe déjà, vous ne pouvez pas l'ajouter.") FIN si herrintegrite() alors erreur("Erreur d'intégrité.") FIN
tableaffiche("TABLE","P") PageActualise("ajout_photo")
--------------------------------------------------- Clic sur Bouton MODIFIER (serveur) // Pb avec l'affichage de l'image // le nom du chemin n'est pas enregistrer dans le fichier // Mais il faut le préciser lorsqu'on veut afficher l'image (cf le code de la table)
sNomFichier est une chaine
//On récupère le fichier image // Rmq : ne pas préciser .."\"+RépertoireWeb()+"\images\" (sinon on ne retrouve plus les images) si _photo <> "" alors sNomFichier = UploadCopieFichier("_Photo",frepencours()+"\"+RépertoireWeb(),"") _PHOTO_img = sNomFichier sinon _PHOTO_img = Pr.photo // ne pas indiquer "\images\"+, comme on le fait dans la table fin // sinon \images\ est rajouté au fichier, on n'affiche plus l'image
//On modifie le produit PageVersFichier()
hmodifie("produit") tantque hdejabloque() hmodifie("produit") FIN si hDoublon() alors erreur("Ce produit existe déjà, vous ne pouvez pas l'ajouter.") FIN si herrintegrite() alors erreur("Erreur d'intégrité.") FIN
_PHOTO_img ="\images\"+Produit.photo // on remet "\images\"+, sinon ne réaffiche pas l'image tableaffiche("TABLE","P") PageActualise("ajout_photo")
Voilà; c'est un peu compliqué , mais ça fonctionne
E.Billaux AgiXcom |