Cette fonction convertit un chemin relatif (sous la forme de chaîne alphanumérique) pointant vers une ressource (image, etc.) en chaîne alphanumérique au format Data-URI (cliquez ici pour plus de détails).
La syntaxe de la chaîne alphanumérique retournée est :
data:<media type>;base64,<data>
avec :
- media type : type MIME déduit de l'analyse du contenu de l'URL,
- data : suite des nombres encodés en base 64.
La déduction automatique de type MIME se déclenche lorsque le paramètre mimeType n'est pas présent. Elle se fait par l'intermédiaire des API javax.ImageIO. Celles-ci supportent nativement les formats suivants :
- BMP : format Bitmap (type MIME image/bmp),
- WBMP : format Wireless Bitmap (type MIME image/vnd.wap.wbmp),
- PNG : format Portable Network Graphics (type MIME image/png),
- GIF : format Graphics interchange format (type MIME image/gif),
- JPEG : format Joint Photographic Experts Group (type MIME image/jpeg).
Pour spécifier un type MIME non reconnu, il faut renseigner le paramètre mimeType avec une chaîne alphanumérique représentant le type MIME. Cliquez ici pour plus de détails.
Résolution du chemin relatif :
La transformation du chemin relatif en chemin absolu se base sur le paramètre templateOrigin. Il peut prendre les valeurs suivantes :
- "main" : la résolution se base sur l'emplacement du template principal (c'est-à-dire celui initialement choisi par le moteur de templates),
- "caller" : la résolution se base sur l'emplacement du template appelant cette macro. Celui-ci peut être différent du template principal s'il a été inclus à l'aide des directives <#include> ou <#import>.
Paramètres
String |
relativePath |
Chemin relatif pointant vers une donnée à convertir |
Obligatoire |
String |
templateOrigin |
Template choisi pour la résolution de relativePath. Les valeurs possibles sont :
|
Optionnel. La valeur par défaut est "main". |
String |
mimeType |
Type mime de la donnée représentée par relativePath |
Optionnel |
Number |
timeout |
Valeur de délai d'attente maximum (en millisecondes) utilisée pour la connexion et la lecture des données de relativePath. Les valeurs possibles sont : < 0 : utilisation des valeurs par défaut Java, = 0 : pas de délai d'attente (attente infinie), > 0 : valeur fixée |
Optionnel. La valeur par défaut est -1 |
Par exemple
<@hardisFo.foExternalGraphic src=hardisCore.templateResToBase64URI("./resources/logo.png") contentWidth="200px" contentWidth="300px"/>