我有一个文件阅读器通道来获取一个 xml 文档。默认情况下,文件阅读器通道会填充通道映射中的“originalFilename”,它只给了我文件的名称,而不是完整的路径。有没有办法获得完整的路径,而不必硬编码?
问问题
7735 次
3 回答
3
您可以像这样获得任何 Source 阅读器属性:
var sourceFolder = Packages.com.mirth.connect.server.controllers.ChannelController.getInstance().getDeployedChannelById(channelId).getSourceConnector().getProperties().getProperty('host');
我把它放在 Mirth 论坛中,列出了您可以访问的其他属性 http://www.mirthcorp.com/community/forums/showthread.php?t=2210
于 2012-03-20T22:22:48.613 回答
2
您可以将目录放在频道部署脚本中:
globalChannelMap.put("pickupDirectory", "/Mirth/inbox");
然后在您的源连接器中使用该映射:
${pickupDirectory}
在另一个频道脚本中:
function getFileLastModified(fileName) {
var directory = globalChannelMap.get("pickupDirectory").toString();
var fullPath = directory + "/" + fileName;
var file = Packages.java.io.File(fullPath);
var formatter = new Packages.java.text.SimpleDateFormat("yyyyMMddhhmmss");
formatter.setTimeZone(Packages.java.util.TimeZone.getTimeZone("UTC"));
return formatter.format(file.lastModified());
};
于 2012-03-07T13:45:43.767 回答
1
不幸的是,没有用于检索文件完整路径的变量或方法。当然,您可能已经知道路径,因为您必须在目录字段中提供它。我尝试使用预处理器将路径存储在通道变量中,但目录字段无法引用变量。因此,您不得不在需要的任何地方对完整路径进行硬编码。
于 2009-11-24T22:14:06.773 回答