2012-04-13 69 views
0

我對actionscript有一個非常基本的理解,以及如何使用它編寫一點代碼,但是我很難解決如何解決這個問題。Actionscript 3搜索目錄中的文件,返回路徑

我們有一個運行一堆BIRT報告的應用程序。它們當前存儲在報告/文件夾中。最近我們越來越多,我們需要將這些重構成各個部門的子文件夾。

Reports/ 
    Campus 1/ 
     Budget Office/ 
      report1.rptdesign 
      report2.rptdesign 
     Human Resources/ 
    Campus 2 
    Campus 3 

如果我知道報告名稱並且它位於reports/*目錄內的某個位置,如何獲取特定報告的路徑名?

例如,如果用戶選擇report2.rptdesign,我如何找回路徑「reports/campus1/budget office /」?

一個例子或示例代碼的網址,至少讓我走在正確的方向將是一個巨大的幫助,謝謝!

我的確發現了這個Flex, AIR: Search for .pdf files in specified folder,不知道是否我需要。

+0

用戶如何選擇報告? – 2012-04-13 16:36:22

+0

報告名稱存儲在通過flex前端提供的oracle數據庫中。唯一需要該目錄的時間是用戶選擇運行所述報告時,此時我們的LaunchReportCommand.as被觸發。問題是路徑被硬編碼爲「frameset?_report = reports /」,並且需要根據所選報告進行更改。希望一切都有道理 – idonaldson 2012-04-13 16:46:13

+0

這似乎是一個很好的起點http://www.wuup.co.uk/as3-basics-list-all-files-in-a-folder-including-subdirectories-air – francis 2012-04-13 17:05:36

回答

0

然後在java中進行遞歸搜索,嘗試在數據庫中增加一個字段。這種方法會更好。您將從flex調用服務以從服務器獲取報告,這將向您返回一個類似此示例的Collection。

<reports> 
    <report> 
     <fileName> report1.rptdesign</fileName> 
     <filePath>Campus 1/Budget Office/report1.rptdesign</filePath> 
    </report> 
    <report> 
     <fileName> report1.rptdesign</fileName> 
     <filePath>Campus 1/Human Resources/report1.rptdesign</filePath> 
    </report> 
    <report> 
     <fileName> report1.rptdesign</fileName> 
     <filePath>Campus 2/Budget Office/report1.rptdesign</filePath> 
    </report> 
    <report> 
     <fileName> report1.rptdesign</fileName> 
     <filePath>Campus 2/Human Resources/report1.rptdesign</filePath> 
    </report> 
</reports> 

這將在用戶交互中保存一個呼叫切斷。

+0

使用switch語句結束並標準化報告的命名。 – idonaldson 2012-04-25 15:33:16

0

如果我知道報告名稱並且它位於reports/*目錄內的某個位置,如何獲取特定報告的路徑名?

很確定你不能在瀏覽器中這樣做。