2012-04-13 70 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/*目录内的某个位置,如何获取特定报告的路径名?

很确定你不能在浏览器中这样做。