Adobe Air是否具有无约束的文件系统访问权限?

时间:2009-04-15 15:21:40

标签: flex actionscript file file-io air

我找到了几个示例和文档,展示了如何在系统上读取和写入文件,但都显示用户干预或在用户配置文件目录中读/写文件。我想做一些事情:

  1. 监视系统和其他应用程序日志文件以进行更改,然后在发生更改时自动加载这些文件
  2. 在应用程序启动时重新加载以前打开的文件
  3. 将文件写入日志目录,该目录可能与应用程序不在同一路径中。
  4. 在我的快速搜索中,似乎可能有一个安全模型限制AIR应用程序对文件系统的访问,因此只能通过文件系统对话框将文件读取或写入用户选择的目录或文件可以写在用户配置文件或空中应用程序目录中。

    Adob​​e Air应用程序是否具有对文件系统的无约束访问权限?

2 个答案:

答案 0 :(得分:4)

AIR与当前用户具有完全相同的文件系统访问权限。如果您是计算机管理员,则AIR可以完全访问所有文件。如果您是受限用户,则AIR限制访问。

有一点需要注意的是,如果从AIR应用程序的主目录加载swf:s,它将在Application沙箱中运行。如果您从外部读取它,它将在File沙箱中执行,该沙箱与从Web加载的沙盒基本相同。

您列表上的一些评论:

1监视系统和其他应用程序日志文件以进行更改,然后在发生更改时自动加载这些文件

据我所知,AIR无法监控文件系统。您将不得不定期轮询此事。

2在应用程序启动时重新加载以前打开的文件

将此信息保存在文件或SQLite中,并在应用启动时进行检查。

3将文件写入日志目录,该目录可能与应用程序不在同一路径中。

要记住的主要事项是在AIR中使用文件路径抽象而不是特定于操作系统的路径,例如c:/

答案 1 :(得分:1)

我想说你的答案取决于平台。我确信Adobe Air不会在OS X上自动拥有root访问权限,因此在任何所有者启动AIR应用程序没有访问文件的权限的情况下,它将无法读取,写入和执行。简而言之,您可能拥有与计算机上运行的任何其他程序相同的权限。

此处提供更多信息:

http://help.adobe.com/en_US/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7f05.html#WS5b3ccc516d4fbf351e63e3d118666ade46-7e35