apache-flex - Adobe Air 是否具有不受限制的文件系统访问权限?

标签 apache-flex actionscript file file-io air

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

  1. 监控系统和其他应用程序日志文件的更改,然后在发生更改时自动加载这些文件
  2. 应用程序启动时重新加载之前打开的文件
  3. 将文件写入日志目录,该目录可能不会与应用程序存在于同一路径中。

在我的快速搜索中,似乎可能有一个安全模型限制 AIR 应用程序对文件系统的访问,以便文件只能读取或写入用户通过文件系统对话框选择的目录或文件可以写入用户配置文件或air应用程序目录中。

Adobe Air 应用程序是否可以不受限制地访问文件系统?

最佳答案

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

需要注意的一件事是,如果您从 AIR 应用程序的主目录加载 swf:s,它将在应用程序沙箱中运行。如果您从外部读取它,它将在文件沙箱中执行,这本质上与从网络加载相同。

您列表中的一些评论:

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

据我所知,AIR无法监控文件系统。您必须定期进行轮询。

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

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

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

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

关于apache-flex - Adobe Air 是否具有不受限制的文件系统访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752207/

相关文章:

apache-flex - 从 ActionScript 影片剪辑生成 flv、mpg 或其他一些影片格式

c - 结构和文件处理

php - 如何在PHP中接收使用 "application/octet-stream"发送的POST数据?

android - 在 Air/Android 应用程序上加载模块

model-view-controller - 将 ActionScript 对象转换为模型

apache-flex - Flex 本地化 : refresh DataProvider values

actionscript-3 - Actionscript 3 是否提供列表理解和 lambda 演算?

java - 检查文件结尾未按预期工作

actionscript-3 - 用于 as3/flex 项目的 CI 友好型自动化构建

c# - 可重用的 C#、Java 和/或 Flex 组件