使用FileReference加载本地XML文件并保存到本地

大家都知道,在Flash Player 10及更高版本中,FileReference添加了新功能:可以使用load()方法加载用户选择的本地文件,使用save()方法打开一个对话框将文件保存到本地文件系统。但加载本地XML文件并保存到本地时可能会遇到以下两个问题。

1. 不能在应用初始化完成后直接调用browse()方法显示一个文件浏览对话框。只有响应用户事件(例如,在鼠标单击或按键事件的事件处理函数中)才能成功调用此方法。我们可以通过加载服务器端文件来解决这一问题。

2. 将XML数据保存到本地时可能不能生成一个格式良好的XML文件。我们可以在调用save()方法前拼凑一个XML对象来解决这一问题。

点击此处查看本实例的效果,点击此处下载本实例的源码。

在本实例中,初始化完成后会从服务器端加载“employees.xml”文件(也可以单击“Load”按钮选择加载本地XML文件)并填充数据网格,用户修改数据网格后可以单击“Save”按钮将修改后的结果保存为本地XML文件。

这里还有一个问题,服务器端的“employees.xml”文件没更新,当刷新页面时,呈现的内容还是以前的,因此,如果不使用SharedObject的话,服务端数据保存还是少不了的。

发表评论