Flash动作脚本可以读写本地文件系统吗?

Bin*_*hen 7 flash actionscript file

我认为它只能访问网络但不能访问本地文件系统,但是从互联网上有人说它可以在最新版本中,任何人都可以确认吗?它可以到达任意文件或只是一个特定的位置?

谢谢.箱子

Ama*_*osh 8

通常,来自Web服务器的SWF 无法从客户端计算机读取文件.但它可以将用户选择的文件从客户端计算机上传到服务器.特定于操作系统的对话框提示用户选择要上载到服务器的文件.因此,Flash无法读取它想要的任何文件,只能读取用户明确允许的文件.

在Flash Player 10之前,SWF无法直接访问正在上传的文件的内容 - 它所做的就是充当选择文件并将其发送到服务器的界面.获取其内容的唯一方法是使用URLLoader将其从服务器发送回SWF .

但是从FP10开始,FileReference类的load()方法允许您将用户选择的文件直接加载到SWF,而不是将其传递到服务器.

类似的规则适用于下载 - 文件只能在他们的许可下以及用户指定的位置和名称下保存到用户的计算机中.FP10之前,你只能从服务器到客户端下载文件 - 如果你要节省一些图像使用SWF到客户机上创建的,则必须将其发送到服务器,然后提示用户下载.从FP10开始,您可以直接从SWF编写数据(当然,获得用户的许可).


除此之外,SWF还可以在客户端计算机中存储SharedObjects,类似于浏览器cookie.存储共享对象不涉及用户的任何对话框或权限.以下是从链接到上面的livedocs页面引用的.

本地共享对象有一些限制,在设计应用程序时需要考虑这些限制.有时可能不允许SWF文件写入本地共享对象,有时可能会在您不知情的情况下删除存储在本地共享对象中的数据.Flash Player用户可以管理单个域或所有域可用的磁盘空间.当用户减少可用磁盘空间量时,可能会删除某些本地共享对象.Flash Player用户还具有隐私控制,可以防止第三方域(当前浏览器地址栏中的域以外的域)读取或写入本地共享对象.