我对flash和as3缺乏经验,我已经完成了编写程序的任务,该程序从提供的URL下载图像,并将它们保存到用户计算机上的指定位置。
这个想法是能够下载多个图像(用户选择它们)并将它们全部下载到一个目录(用户首先选择),这样他就不必一个一个地下载它们。此外,将它们放在存档中并作为一个文件下载不是一种选择。
我找到的唯一解决方案是使用FileReference.save(),这对我不起作用,因为它会打开一个保存对话框。
如果在闪存中无法做到这一点,请在不诉诸安装自定义插件的情况下提出另一种方法。
谢谢。
答案 0 :(得分:3)
您将遇到的最大问题是Flash播放器沙盒安全性。如果您的SWF已经在网络上,则无法将本地计算机上的文件请求与网络上的文件请求混合在一起。这样做的原因是为了防止恶意SWF将文件从您的计算机发送到互联网。我花了一段时间才完全理解安全限制,但这都是here, in the Adobe AS3 help docs。
在该页面的底部,您会看到安全沙箱类型列表,如果您正在创建一个网站(REMOTE
),那么您无需在没有求助的情况下在Flash中实现您的设计到时髦的第三方浏览器插件:
LOCAL_*
沙箱都处理您计算机上的SWF,但是要让他们访问您计算机上的其他文件然后将其发送到网络,用户需要手动“信任”SWF。假设您正在为更广泛的公众创建应用程序,这可能不是一个可行的选择。
你最好的选择是使用AIR。如APPLICATION
中所述,您可以混合使用本地和网络资源。但是,在将用户安装为AIR桌面应用程序之前,您的用户将需要拥有其计算机的管理员权限并且完全信任您。