[AS3]监测用户是否确认(或取消)了下载文件
[AS3]监测用户是否确认(或取消)了下载文件,Flash播放器就会试图打开保存对话框,要么成功打开对话框,要么抛出异常,而Flash播放器则继续执行下一行代码
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("用户取消了下载");
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...