read-binary-file
Retourne le contenu du fichier spécifié en tant qu’un BLOB (binary large object) de type xs:base64Binary. Veuillez noter que bien que le type de données est appelé "base64Binary", la représentation interne est juste un BLOB. Ce n’est que lorsque vous mappez le résultat de la fonction dans un nœud XML de type xs:base64Binary qu’il sera encodé en base64. Vous pourriez aussi mapper le résultat de la fonction dans xs:hexBinary, dans un blob de base de données ou dans un champ binaire dans une structure Protocol Buffers.
Pour lire un fichier binaire dans un mappage, fournir son chemin en tant qu'entrée dans l'argument filepath. Si le filepath est relatif, MapForce cherchera le fichier dans le même répertoire que le mappage. L'argument must-exist est optionnel ; si le fichier ne peut pas être ouvert et que ce paramètre est vrai, le mappage lance une erreur. Si le fichier ne peut pas être ouvert et que ce paramètre est faux, un binaire vide est retourné.
Langages
Built-in.
Paramètres
Nom | Type | Description |
---|---|---|
filepath | xs:string | Le chemin de fichier. |
must-exist | xs:boolean | Paramètre optionnel. Si le fichier ne peut pas être ouvert et que ce paramètre est true, le mappage lance une erreur. Si le fichier ne peut pas être ouvert et que ce paramètre est false, un binaire vide est retourne.
La valeur par défaut est true. |
Exemple
Le mappage illustré ci-dessous lit des données depuis un fichier d’image et l’écrit dans une table de base de données. La base de données de cible est SQLite. Veuillez noter que le type de données du champ de base de données picture est BLOB.
Pour extraire le contenu binaire du fichier, la fonction read-binary-file a été utilisée. Dans cet exemple, le premier argument, filepath est fourni par une constante Étant donné que le chemin est relatif, MapForce cherchera le fichier d’image dans le même répertoire que le mappage.
Dans la base de données de cible, les champs suivants sont configurés en tant que NOT NULL, le mappage doit donc les fournir :
•id - Dans cet exemple, le composant de base de données est configuré de manière à ce que id est généré par base de données au lieu d’être fourni par le mappage. Pour plus d’informations, voir Insérer des données dans une table.
•title - cette valeur est fournie par un simple composant d’entrée portant le même nom. Veuillez noter qu’une valeur d’exécution design-time est définie ("product1") afin de permettre le prévisualiser le mappage. Pour plus d’informations, voir Fournir des paramètres dans le mappage.
•picture - ce champ reçoit la sortie directe de la fonction read-binary-file.
Étant donné que le composant de cible est une base de données, la prévisualisation du mappage génère un script pseudo-SQL que vous pouvez consulter mais n’envoie pas de modifications à la base de données. Pour exécuter le script par rapport à la base de données, choisir la commande de menu Sortie | Exécuter SQL-Script.