|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
| Started by Mediaweb, Mar., 26 2025 11:25 AM - 5 replies |
| |
| | | |
|
| |
Registered member 11 messages |
|
| Posted on March, 26 2025 - 11:25 AM |
Bonjour,
J'ai une application qui affiche des mails et qui jusqu'ici utilisait un champ saisie classique dont le type était changé à "HTML".
Tout fonctionnait correctement mais je me suis aperçu que les liens (URL) s'ouvraient dans le même champ. Je me suis donc interressé aux vrais champs HTML pour pouvoir profiter de l'évènement "clique sur un lien'".
Depuis que j'utilise ce type de champ, j'arrive effectivement à ouvrir les URL dans un navigateur mais je n'arrive plus à afficher les images contenues dans le corps des e-mails.

J'utilise le code suivant pour remplacer les CID par le chemin des images: sCID = SansEspace("cid:"+ Attachement.Identifiant) Mess.HTML = Remplace(Mess.HTML, sCID, sCheminPJ + Attachement..Nom, MotComplet + SansCasse)
Ce code fonctionnait très bien avec un champ saisie de type HTML mais plus avec un vrai champ HTML.
Ce que j'ai déjà essayé de faire:
- Ajouter "file:" ou "file:\\ ou file:\\\ devant le chemin des images lors du remplacement du CID. Aucun résultat, l'image ne s'affiche pas.
- J'ai essayé de mettre le champ HTML en mode compatibilité I9/edge. --> Les images s'affichent correctement !! Mais à ce moment là j'ai toutes mes tables de mon écran qui clignottent (un style de flickering) lorsque je passe sur n'importe quel champ ou sur un élément d'une table.
Comment dois-je faire pour afficher correctement mes images dans un vrai champ HTML (pour profiter de l'évenement "clique sur lien" et rester en mode CEF chromium pour éviter ce flickering).
C'est surement une bétise mais je tourne en rond depuis hier. Merci d'avance pour votre aide !
GregMessage modified, March, 26 2025 - 11:27 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 187 messages |
|
| Posted on March, 26 2025 - 2:34 PM |
Bonjour
Je vois votre problème, vous demander comment ajouter une image dans un champ HTML, j'ai une solution en classe pour vous
1. Vous devrez récupérer le chemin de l'image dans le champ vrai HTML
Pour ce cas implémenter ce code dans un bouton ou dans un procédure ou ... LOCAL cImage_Html is ClImage_Html cImage_Html:Afficher_Image(HTM_Image..Nom, fRepExe() + "/Images","IMG_Appareil.png") // EDD (03/25) : les paramètres sont utiles dans la classe
EDD (03/25) : créer une nouvelle classe ClImage_Html avec 4 membres ClImage_Html est une Classe m_bRetour is booléen m_sChamp_Html is string m_sChemin is string m_sImage is string FIN
EDD (03/25) : créer trois méthodes dans la classe ClImage_Html PROCÉDURE Validation() :m_bRetour = True IF NoSpace(:m_sChemin) = "" THEN :m_bRetour = False Info("Merci de remplir le chemin de l'image") ELSE IF fRépertoireExiste(:m_sChemin) = False THEN :m_bRetour = False Info("Merci de vérifier le chemin de l'image") ELSE IF NoSpace(:m_sImage) = "" THEN :m_bRetour = False Info("Merci de remplir le nom de l'image") ELSE IF ChaîneOccurrence(:m_sImage, ".") = 0 THEN :m_bRetour = False Info("Merci de vérifier l'extension de l'image") ELSE IF fFichierExiste(:m_sChemin + "/" + :m_sImage) = False THEN :m_bRetour = False Info("Merci de vérifier le répertoire de l'image") ELSE IF NoSpace(:m_sChamp_Html) = "" THEN :m_bRetour = False Info("Merci de remplir le champ HTML") END
PROCÉDURE Lancement() {:m_sChamp_Html, indChamp}..Valeur = :m_sChemin + "/" + :m_sImage
PROCÉDURE Afficher_Image(LOCAL psChamp_Html is string, LOCAL psChemin is string, LOCAL psImage is string) :m_sChamp_Html = psChamp_Html :m_sChemin = psChemin :m_sImage = psImage :Validation() IF :m_bRetour = True THEN :Lancement() END

Cordialement Mr.RATSIMANDRESY Niry Aina Eddy |
| |
| |
| | | |
|
| | |
| |
Registered member 11 messages |
|
| Posted on March, 26 2025 - 5:14 PM |
Merci pour voter réponse mais ce n'est pas ce que je demande. Je veux juste qu'un email affiche correctement les images contenues dans le corps de son message. En sachant que mon code fonctionnait bien pour un champ de saisie de type HTML mais ne fonctionne plus avec un vrai champ HTML.
Bien à vous Greg |
| |
| |
| | | |
|
| | |
| |
Registered member 3,774 messages |
|
| Posted on March, 27 2025 - 12:00 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 11 messages |
|
| Posted on March, 27 2025 - 1:42 PM |
Popoy a écrit : > https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev.old/29803-image-dans-corps-mail/read.awp
Bonjour Popoy,
Merci déjà pour votre aide.
Si j'ai bien compris ce post couvre une solution pour insérer une image dans le corps d'un email afin de l'envoyer. Ce n'est pas ce que j'ai expliqué en détail plus haut.
Le problème que j'ai : Mon code pour remplacer le CID (par un chemin relatif de l'image) à la réception d'un mail ne fonctionne plus lorsque je charge le HTML dans un champ HTML.
sCID = SansEspace("cid:"+ Attachement.Identifiant) Mess.HTML = Remplace(Mess.HTML, sCID, sCheminPJ + Attachement..Nom, MotComplet + SansCasse)
Alors qu'avec l'ancien champ de saisie classique dont le type était mis à "HTML" ce code fonctionnait très bien et les images étaient correctement affichées.
En résumé, le champ HTML ne veut plus afficher l'image avec ce code HTML : <img border="0" width="102" height="80" style="width:1.0583in;height:.8333in" id="Image_x0020_118" src="X:\images\image001.png">
Maintenant, je suis peut-être passé à côté de quelque chose d'autre que vous vouliez me montrer avec ce post ou que je n'aurais pas compris.
Cordialement GregMessage modified, March, 27 2025 - 1:54 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 3,774 messages |
|
| Posted on March, 27 2025 - 2:03 PM |
Salut C'est vrai qu'à priori c'est pas pareil Sauf que les 2 sont en réalité en HTML En gros il faut surement mettre en base 64 l'image a l'intérieur du HTML Ou trouver comment "attacher" l'image comme le fait Thierry Tellier En plus, tu parles bien d'un mail Quand tu affiche le mail dans un champ HTML et que celui-ci contient une image Et une URL Tu dis que depuis soit l'URL ne fonctionne plus soit l'image ne s'affiche plus Or comment récupérer l'image contenu dans ce mail Il est soit attaché soit incorporer Donc à toi de vérifier l'un ou l'autre et d'agir en conséquenceMessage modified, March, 27 2025 - 2:04 PM |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|