<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private var downloadURL:URLRequest;
private var netFile:FileReference;
public function download(netFileURL:String):void{
downloadURL = new URLRequest(netFileURL);
netFile = new FileReference();
configureListeners(netFile);
netFile.download(downloadURL);
}
private function configureListeners(dispatcher:IEventDispatcher):void{
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); //当由于安全错误导致下载失败时调度
dispatcher.addEventListener(Event.SELECT, selectHandler); //当用户从对话框中选择要下载的文件时调度
dispatcher.addEventListener(Event.OPEN, openHandler); // 当下载操作开始时调度
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); //在文件下载操作期间进行定期调度
dispatcher.addEventListener(Event.CANCEL, cancelHandler); //当用户取消对话框时调度
dispatcher.addEventListener(Event.COMPLETE, completeHandler); //当文件下载操作成功完成时调度
}
private function selectHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("文件网络地址:" + downloadURL.url);
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void {
var file:FileReference = FileReference(event.target);
trace("文件本地化后的名称:" + file.name);
trace("已下载字节数:" + event.bytesLoaded);
trace("文件总字节数:" + event.bytesTotal);
trace("文件下载到本地的日期:" + file.creationDate); //Fri Jan 15 09:15:29 GMT+0800 2010
trace("文件格式:" + file.type);
trace("到本地时的文件大小:" + file.size);
}
private function cancelHandler(event:Event):void{
trace("cancelHandler: " + event);
}
private function completeHandler(event:Event):void {
trace("completeHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("错误信息: " + event);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
]]>
</mx:Script>
<mx:Button x="300" y="50" label="远程文件下载"
click="download('http://www.google.cn/intl/zh-CN/images/logo_cn.gif');"/>
</mx:Application>
分享到:
相关推荐
首先安装 Flex Builder 3,可以在 Adobe 的官方网站获得 30 天免费试用版。然后,打开 Flex Builder 3,创建一个新的 Flex Project,命名为 EmployeeMgmt-Flex: 图 3. 新建 Flex 工程 - 第一步 Flex Project ...
首先安装 Flex Builder 3,可以在 Adobe 的官方网站获得 30 天免费试用版。然后,打开 Flex Builder 3,创建一个新的 Flex Project,命名为 EmployeeMgmt-Flex: 图 3. 新建 Flex 工程 - 第一步 Flex Project ...
Spring和Flex整合时用的SpringFactory,SpringFactory实例化Spring bean文件,供表现层Flex远程调用(RemoteObject),我做Spring+Hibernate+Flex做J2EE开发时用到的。下载就可以直接用了,省得手工写。希望对大家有...
第6章 Flex+BlazeDS应用开发实例 178 6.1 需求分析 178 6.2 数据库设计 179 6.3 用Flash Builder配置企业应用开发环境 180 6.3.1 创建一个Flash Builder工程 180 6.3.2 修改Flex SDK包文件链接类型 184 6.3.3 ...
所有2.x版相关的函数都定义在stdsoap2.c[pp]文件中,这个文件是由gSOAP编译器自 动生成的。所以,用1.x版开发的服务端或客户端代码需要进行修改以适应2.x版中函数的变化:在2.x版中,所有的gSOAP函数都增加了一个...
10 增加FLEX,在本地测试版本开启,FLEX是Flipboard官方发布的一组专门用于iOS开发的应用内调试工具,能在模拟器和物理设备上良好运作,而开发者也无需将其连接到LLDB/Xcode或其他远程调试服务器,即可直接查看或...
常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算表达式类的原理及其实现 #实现的18位身份证格式验证算法 身份证15To18...
和许多调试工具不同的是,FLEX不仅能在模拟器和物理设备上良好运作,而且还可直接在App中运行,开发者无需将其连接到LLDB/Xcode或其他远程调试服务器。在调用FLEX时,应用窗口会显示一个工具栏,而在这个工具栏中,...
1.1 实例化Spring IoC容器 1 1.1.1 问题 1 1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 ...
1.1 实例化Spring IoC容器 1 1.1.1 问题 1 1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 ...