我有一个包含flash部分的java Web应用程序。目前.swf
文件正在从项目xml
文件夹中读取src
文件。我想从本地文件系统(xml
驱动器)访问C:/
文件。如何从C:/
驱动器访问XML数据。目前我的java Web应用程序正在访问相同的{{1来自xml
drive的文件。我可以通过javascript将C:/
数据传递给xml
文件。
这是最佳实践。这是从Flex中本地文件系统访问XML文件的最佳实践。
感谢任何帮助。
答案 0 :(得分:0)
如果您的swf在Web应用程序中,则无法自由访问硬盘驱动器。不过有两种选择:
使用命令FileReference.browse()
,您可以允许用户从本地系统中选择一个文件并加载它,或者上传它。
如果您选择load
,则可以data
作为ByteArray
访问。
ExternalInterface允许您通过javascript与浏览器进行通信。您可以使用ExternalInterface.addCallback()
设置响应者。查看reference for some example。
答案 1 :(得分:0)
您说这是一个Java Web应用程序。因此,一种方法是将XML文件放在服务器上,然后进行服务调用以在Flex中读取它。
var httpService:HTTPService = new HTTPService();
httpService.url = path; //The URL of the XML file goes here
httpService.resultFormat = "e4x";
httpService.addEventListener(FaultEvent.FAULT, onFaultHttpService);
httpService.addEventListener(ResultEvent.RESULT, onResultHttpService);
httpService.send();
您必须定义onFaultHttpService
和onResultHttpService
方法。
AFAIK,除非您使用AIR,否则无法直接在Flex中访问文件系统。