下载文件也可以使用FileReference类完成。在执行下载文件操作时,须由代码指定下载文件和下载路径,并经过调用FileReference类提供的download()方法,弹出储存文件对话框。该对话框同brow()类似,不过上载文件时的用户文件浏览变成了选择下载文件的储存地址。由于FlashPlayer不能访问用户的磁盘信息,开发者必须经过用户的选择和认可,才能将文件保存在磁盘上。
download(
request:URLRequest,
defaultFileName:String = null
):void
在作为文件路径的URLRequest对象中,指定文件的路径和文件名,包含扩展名。应注意服务器是否区分大小写,以及扩展名的大小写。不要利用FileReference类的name属性指派文件名,FileReference类的属性在下载文件时无效,它们是只读的。
在用户对存储对话框成功关闭后,从远程服务器下载文件的过程便会开始。播放器正式支持的上载或下载文件大小最大为100MB。响应事件来侦听下载的进度:
Ø open:Event—当下载操作开始时调度。
Ø progress:ProgressEvent—在文件下载操作期间进行定期调度。
Ø complete:Event—当文件下载操作成功完成时调度。
Ø cancel:Event—当用户取消对话框时调度。
Ø select:Event—当用户从对话框中选择要下载的文件时调度。
下载文件的操作过程中,关闭FlashPlayer将会终止下载进程,并且删除已下载的数据。当使用FlashPlayer进行下载时,客户端的第三方下载软件不可以侦听到下载的地址,无法介入下载过程。对于较大的文件,应考虑究竟是使用FileReference类的download()方法,还是提供可复制的超链接,以借助用户系统中的第三方下载工具。