【问题标题】:Mirth: How to get source file directory from file reader channelMirth: 如何从文件阅读器通道获取源文件目录
【发布时间】:2009-10-23 16:49:15
【问题描述】:

我有一个文件阅读器通道来获取一个 xml 文档。默认情况下,文件阅读器通道会填充通道映射中的“originalFilename”,它只给了我文件的名称,而不是完整的路径。有什么方法可以得到完整的路径,而不必硬编码?

【问题讨论】:

    标签: mirth


    【解决方案1】:

    您可以像这样获得任何源阅读器属性:

    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

    【讨论】:

      【解决方案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()); 
      };
      

      【讨论】:

        【解决方案3】:

        不幸的是,没有用于检索文件完整路径的变量或方法。当然,您可能已经知道路径,因为您必须在“目录”字段中提供它。我尝试使用预处理器将路径存储在通道变量中,但目录字段无法引用变量。因此,您不得不在任何需要的地方硬编码完整路径。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-09-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多