我有一个包含 Flash 部分的 Java Web 应用程序。目前该文件正在从项目文件夹.swf
中读取该文件。我想从本地文件系统(在驱动器中)访问文件。如何从驱动器访问 XML 数据。目前我的 java Web 应用程序正在从驱动器访问同一个文件。我可以通过 javascript 将数据传递到文件吗?这是最佳实践吗?这是在 Flex 中从本地文件系统访问 XML 文件的最佳实践。xml
src
xml
C:/
C:/
xml
C:/
xml
.swf
任何帮助表示赞赏。
我有一个包含 Flash 部分的 Java Web 应用程序。目前该文件正在从项目文件夹.swf
中读取该文件。我想从本地文件系统(在驱动器中)访问文件。如何从驱动器访问 XML 数据。目前我的 java Web 应用程序正在从驱动器访问同一个文件。我可以通过 javascript 将数据传递到文件吗?这是最佳实践吗?这是在 Flex 中从本地文件系统访问 XML 文件的最佳实践。xml
src
xml
C:/
C:/
xml
C:/
xml
.swf
任何帮助表示赞赏。
您说这是一个 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 中访问文件系统。
如果您的 swf 在 Web 应用程序中,您将无法自由访问硬盘驱动器。尽管如此,还是有两种选择:
使用命令FileReference.browse()
,您可以允许用户从本地系统中选择一个文件并加载它,或者上传它。如果您选择load
它,您可以将其data
作为ByteArray
.
ExternalInterface 允许您通过 javascript 与浏览器进行通信。您可以使用 设置响应者ExternalInterface.addCallback()
。检查一些例子的参考。