2011-02-01 34 views
0

我对Flash和as3并不熟​​悉,而且我已经完成了编写程序的任务,该程序从提供的URL下载图像,并将它们保存到用户计算机上的指定位置。将图像保存为客户端上的文件?

这个想法是能够下载多个图像(用户选择它们)并将它们全部下载到单个目录(用户首先选择),以便他不必逐一下载它们。另外,将它们放入存档并作为一个文件下载不是一种选择。

我发现的唯一解决方案是使用FileReference.save(),这对我不起作用,因为它打开了一个保存对话框。

如果在Flash中无法做到这一点,请提供另一种方法来做到这一点,而不诉诸安装自定义插件。

谢谢。

回答

3

您将遇到的最大问题是Flash播放器沙箱安全问题。根据设计,如果您的SWF已在网络上,则无法将来自本地计算机的文件请求与网络上的文件请求混合使用。这是为了防止恶意的SWF将文件从您的计算机发送到互联网。我花了一段时间才完全理解安全限制,但全部都是here, in the Adobe AS3 help docs

在该页面的底部,你会看到一个安全沙箱类型的列表,如果你创建了一个网站(REMOTE),你不会实现的Flash设计,而不诉诸时髦的3rdParty浏览器插件:

  • Security.REMOTE
  • Security.LOCAL_WITH_FILE
  • Security.LOCAL_WITH_NETWORK
  • Security.LOCAL_TRUSTED←可以做你的需要。
  • Security.APPLICATION←也可以做你需要的。

LOCAL_*沙箱中的所有处理SWF的在您的计算机上,但他们访问您的计算机上的两个其他文件,然后将它们发送到网络时,用户需要手动“信任”的SWF。假设你正在为更广泛的公众创建你的应用程序,这可能不是一个可行的选择。

你最好的选择是使用AIR。如APPLICATION中所述,您可以混合使用本地和网络资源。然而,您的用户需要在他们的计算机上拥有管理员权限,并且在将您的应用程序安装为AIR桌面应用程序之前,您已经足够信任您。

祝你好运! EP。

相关问题