【问题标题】:How to access local file system from Flex web application?如何从 Flex Web 应用程序访问本地文件系统?
【发布时间】:2011-01-05 10:41:24
【问题描述】:

我正在尝试从 Flex Web 应用程序访问本地文件系统。 我知道这很困难,但我认为一定有办法。 Flex 应用程序是否可以使用 AIR 组件,或者 Web 应用程序可以调用某些 AIR 模块来选择文件并上传?

【问题讨论】:

  • 理想情况下,您不需要。如果 JS、Flash 等保持沙盒状态,用户可以睡得更好。
  • 您的问题归结为“我怎样才能破坏 Flash Player 的安全性”。如果你做到了,预计漏洞很快就会被关闭。

标签: apache-flex adobe air


【解决方案1】:

基于 Web 的 Flex/Flash 应用程序无法直接访问基于 AIR 的 API。它们不是内置在 Flash Player 中的,而是内置在 AIR 运行时中的扩展。您无法直接访问它们,因为它们不存在。

如果您在用户的本地计算机上安装了 AIR 应用程序,理论上您可以将该应用程序用作具有 localConnection 的代理。这样,AIR 应用程序可以直接访问文件系统,由基于浏览器的应用程序触发。不过,我不确定用户交互将如何工作。

如果您在客户端计算机上安装了服务器软件,您可以使用 RmoteObject/HTTPService/WebService 命令从 Flex 触发文件处理命令。这不会给用户任何交互能力,并且通常不实用,除非您对客户端机器有很强的控制权。

这两种方法都会带来应用安装的噩梦;这几乎一开始就违背了基于浏览器的应用程序的目的。

【讨论】:

    【解决方案2】:

    您可以使用 FileReference 的方法要求用户选择要打开的文件(加载到闪存,上传到服务器)或保存(从服务器或闪存的字节)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      • 2021-01-22
      • 2023-01-29
      • 1970-01-01
      • 2016-02-18
      • 1970-01-01
      相关资源
      最近更新 更多