![](/img/trans.png)
[英]How do I get channel information in a Mirth Connect JavaScript Reader Source Connector?
[英]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.