2016-10-13 00:16:48 点击量:19 标签: 收藏本文
download()方法本身没有暂停执行功能,一旦download()方法被调用,Flash播放器就会试图打开保存对话框,要么成功打开对话框,要么抛出异常,而Flash播放器则继续执行下一行代码,也就是系统并不知道用户是否已经选择了文件并点击保存按钮
解决方法是监听Event.SELECT事件和Event.CANCEL事件,在事件中可以获得被下载文件的名称,因为其事件发起者就是FileReference
- package {
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.net.FileReference;
- import flash.net.URLRequest;
- public class Sample0723 extends Sprite
- {
- private var fileRefer:FileReference;
- public function Sample0723()
- {
- stage.addEventListener(MouseEvent.CLICK,onClick);
- fileRefer = new FileReference();
- fileRefer.addEventListener(Event.SELECT,onSelect);
- fileRefer.addEventListener(Event.CANCEL,onCancel);
- }
- private function onClick(event:MouseEvent):void
- {
- var urlRequest:URLRequest = new URLRequest("http://xyq.gdl.netease.com/08cg.rar");
- try
- {
- fileRefer.download(urlRequest,"patch.jpg");
- }
- catch(error:Error)
- {
- trace(error.message);
- }
- }
- private function onSelect(event:Event):void
- {
- trace("用户点了确定,下载文件为"+(event.target as FileReference).name);
- }
- private function onCancel(event:Event):void
- {
- trace("用户取消了下载");
- }
- }
- }
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室