我正在开发一个将读取并在电子邮件中发送图像的过程。此图像是此过程中的一个文件夹。
问题是:如何获得进程运行的路径?
类似 a 的东西'Server.MapPath'
返回文件系统中的图像路径。
提前致谢。
我正在开发一个将读取并在电子邮件中发送图像的过程。此图像是此过程中的一个文件夹。
问题是:如何获得进程运行的路径?
类似 a 的东西'Server.MapPath'
返回文件系统中的图像路径。
提前致谢。
如果您的图像存在于 BW 项目的文件夹中,您可以使用“检索资源”活动来获取内容。
您只需在项目中使用相对路径设置资源路径,它将输出 base64 数据。
SOAP RetrieveResources 可能是一个很好的解决方案,但在 BW 5.4 上为我抛出了 NullPointerException。也许这是这个版本的一个错误。
关于获取“根路径”的问题是已部署的 BW 项目不保留其原始文件夹/文件结构——部署者不会“分解”EAR 文件。因此,您不会在 BW 服务器框中找到作为单独文件的图像。
通过使用以下 XPath 语句,有一种简单的方法可以动态加载 XML 文件:
tib:render-xml(document('tibcr://path/to/file.xml'))
但它显然会在二进制文件上失败。在 BW 项目中存储二进制数据的最佳猜测是将其存储为 Base64 或 Hex 格式的字符串常量。
如果有人遇到这个问题(就像我今天所做的那样),这里有一种方法可以在应用程序中获取文件的绝对路径。以下代码可用于“Java 代码”活动,例如,将 relativePath 和 absolutePath 分别作为输入和输出参数:
absolutePath = com.tibco.pe.core.Engine.getRepoAgent().getAbsoluteURIFromProjectRelativeURI(relativePath);