簡體   English   中英

Mirth:如何從文件閱讀器通道獲取源文件目錄

[英]Mirth: How to get source file directory from file reader channel

我有一個文件讀取器通道,用於拾取xml文檔。 默認情況下,文件閱讀器通道會在通道映射中填充“ originalFilename”,這只能為我提供文件名,而不是完整路徑。 有什么辦法可以得到完整的路徑,而不必硬編碼某些東西?

您可以像下面這樣獲得任何源閱讀器屬性:

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

不幸的是,沒有用於獲取文件完整路徑的變量或方法。 當然,您可能已經知道路徑,因為必須在“目錄”字段中提供它。 我嘗試使用預處理器將路徑存儲在通道變量中,但“目錄”字段無法引用變量。 因此,您在任何需要的地方都必須對完整路徑進行硬編碼。

您可以將目錄放入通道部署腳本中:

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()); 
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM