Altova MapForce 2024 Enterprise Edition

Cette fonction écrit du contenu binaire dans le chemin de fichier spécifié et retourne le chemin du fichier écrit. Si un fichier binaire est la seule sortie désirée, connecter le résultat de la fonction à un composant sortie simple. Étant donné que cette fonction écrit un fichier à chaque fois qu'une sortie est utilisée dans le mappage, il est recommandé de connecter le résultat de la fonction directement dans un composant cible, sans utiliser un autre traitement entre temps.

 

mf-func-write-binary-file

Pour écrire des fichiers binaires, fournir leurs chemins en tant qu'entrée dans l'argument filepath. Si filepath est relatif, MapForce générera le fichier dans le même répertoire que le mappage. L'argument content doit être connecté au contenu binaire (par exemple, un champ BLOB dans une base de données).

 

Lorsque vous consultez le mappage dans MapForce, la fonction génère des fichiers temporaires par défaut, au lieu d'écrire des fichiers directement sur le disque. Pour enregistrer les fichiers temporaires sur le disque, cliquer tout d'abord sur l'onglet Sortie, puis cliquer sur la touche de la barre d'outils Enregistrer sortie générée ic-save-sel-string ou Enregistrer toutes les sorties générées ic-save-all-out, selon les cas.

 

Pour configurer MapForce pour écrire une sortie directement dans des fichiers finaux au lieu des fichiers temporaires, sélectionner la commande de menu Outils | Options, cliquer sur Général, puis sélectionner l'option Écrire directement dans les fichiers de sortie finaux. Veuillez noter que cette option écrase tous les fichiers existants avec  le même nom.

 

La fonction retourne le nom du fichier final (pas temporaire), même si le fichier final n'est pas encore enregistré sur le disque (c'est le cas lorsque vous consultez le mappage et que l'option Écrire directement dans les fichiers de sortie finaux est désactivée).

 

Veuillez noter qu'il n'est pas possible pour un mappage de relire son propre fichier de sortie.

 

Langages

Built-In

 

Paramètres

Nom

Type

Description

filepath

xs:string

Le chemin de fichier d’entrée.

contenu

xs:base64Binary

Le contenu binaire de type xs:base64Binary.

 

Exemple

Le mappage illustré ci-dessous lit des valeurs BLOB d’une base de données SQLite et écrit des fichiers d’images sur le disque. La base de données a une table appelée products, qui présente les colonnes suivantes (champs) :

 

id (entier, le seul nombre de série permanent de l’enregistrement)

title (texte, le titre du produit)

description (texte, la description du produit)

picture (blob, l’image de produit)

 

Pour le effectuer cet exemple, seuls les champs id et picture sont pertinents.

mf-func-write-binary-file_example1

L’objectif du mappage est d’extraire toutes les images provenant de la table de products et de les écrire en tant que fichiers dans le disque. Comme illustré ci-dessus, la fonction write-binary-file est utilisée à cet escient. Le premier argument, filepath, reçoit le chemin de fichier pour chaque image. Le chemin doit être unique pour éviter de contourner des fichiers, il est donc généré en concaténant la base de données unique id de chaque enregistrement avec le mot "image" puis en ajoutant l’extension de fichier ".png" (on part du principe que toutes les images sont en format PNG). Veuillez noter que le chemin est relatif, les fichiers sont donc écrits dans le même répertoires que le mappage.

 

Le second argument, content, reçoit le contenu binaire stocké dans la base de données.

 

La fonction count retourne un décompte de tous les fichiers générés et combine ce nombre avec le string "file(s) written". Un rapport est produit indiquant combien de fichiers ont été générés par le mappage. Dans cet exemple, la base de données contient uniquement deux enregistrements de produit, la sortie de mappage réfléchira cela :

mf-func-write-binary-file_example2

Comme évoqué précédemment, cette fonction génère des fichiers temporaires lorsque le mappage est exécuté dans l’exécution de prévisualisation. Pour consulter chaque fichier individuel , utiliser les touches flèchées pour naviguer dans l’enregistrement qui vous intéresse, cliquer sur la touche Ouvrir avec, et choisir un éditeur d’image.

mf-func-write-binary-file_example3

Pour enregistrer tous les fichiers, cliquer sur la touche de barre d’outils Enregistrer la sortie générée ic-save-sel-string ou Enregistrer toutes les sorties générées ic-save-all-out, le cas échéant.

 

© 2018-2024 Altova GmbH