Question

Je développe un processus qui va lire et envoyer une image dans un e-mail. Cette image est un dossier dans ce processus.

Le problème est: comment puis-je obtenir le chemin où le processus est en cours d'exécution

Quelque chose comme un 'Server.MapPath' qui retourne le chemin d'image dans le système de fichiers.

Merci d'avance.

Était-ce utile?

La solution

Si vos images existent dans un dossier dans votre BW-projet, vous pouvez utiliser le « Récupérer des ressources » activité pour obtenir le contenu.

Il suffit de régler le resourcePath avec le chemin relatif dans votre projet et il sera sortie les données de base64.

Autres conseils

SOAP RetrieveResources pourrait être une bonne solution, mais jette un NullPointerException pour moi sur BW 5.4. Peut-être qu'il est un bug dans cette version.
Le problème en ce qui concerne l'obtention d'un « chemin racine » est qu'un projet BW déployé ne conserve pas sa structure de dossier / fichier original - le déployeur ne « exploser » le fichier EAR. Par conséquent, vous ne trouverez pas l'image comme un fichier séparé sur la zone serveur BW
Il y a une façon simple de charger dynamiquement des fichiers XML, en utilisant l'instruction XPath suivante:.

tib:render-xml(document('tibcr://path/to/file.xml'))

mais il sera évidemment échouer sur des fichiers binaires. Ma meilleure estimation pour stocker des données binaires dans un projet BW serait de stocker comme une constante chaîne en base64 ou Hex.

Dans le cas où quelqu'un vient à travers cette question (comme je l'ai fait aujourd'hui), voici un moyen d'obtenir le chemin absolu d'un fichier dans l'application. Le code suivant peut être utilisé dans une activité « code Java », par exemple, être relativePath et AbsolutePath les paramètres d'entrée et de sortie, respectivement:

absolutePath = com.tibco.pe.core.Engine.getRepoAgent().getAbsoluteURIFromProjectRelativeURI(relativePath);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top