2017-09-26 67 views
0

我正在嘗試構建一個基於文件的集成,其中文件被轉儲到主目錄的一個子目錄中進行處理。我需要獲取子目錄的名稱,以知道該文件適用於哪個客戶端。所以,如果我有:如何獲得Apache Camel File2的相對路徑段

/uploads/foo/bar.txt

我需要處理該文件,並知道它的客戶端「富」。我不知道如何獲得該部分並將其設置爲處理bar.txt文件的處理器的標題。我有它拿起文件和處理,現在我需要添加在這一塊。

任何人有我的想法嗎?

回答

2

您可以在交易所的標題中獲得大部分信息。在你的情況,你正在消耗文件中的下列項目avlable:

  • CamelFileName:消耗文件從端點配置的起始目錄抵消 相對文件路徑名。

  • CamelFileNameOnly:只有文件名(沒有前導 路徑的名稱)。

  • CamelFileAbsolute:一個布爾選項,指定消耗的 文件是否表示絕對路徑。對於 相對路徑通常應該是錯誤的。通常不應使用絕對路徑,但我們將 添加到移動選項以允許將文件移動到絕對路徑。但 也可以在其他地方使用。
  • CamelFileAbsolutePath:文件的絕對路徑。對於相對 文件,此路徑代替相對路徑。
  • CamelFilePath:文件路徑。對於相關文件,這是起始目錄+相對文件名。對於絕對文件,這是絕對路徑。
  • CamelFileRelativePath:相對路徑。
  • CamelFileParent:父路徑。
  • CamelFileLength:包含文件大小的長整型值。
  • CamelFileLastModified:包含文件最後修改後的 時間戳的日期值。

您可以查詢這些標題爲您正在尋找使用以下示例作爲指南的信息:

<log message ="${header.CamelFileAbsolutePath}"/> 

詳情請參閱the file component documents在駱駝網站。