`

(原创)flex(AIR)远程文件下载实例(高级版)

    博客分类:
  • flex
 
阅读更多

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/halo">

<fx:Script>
   <![CDATA[
    import flash.net.URLRequest;
    import flash.filesystem.File;
    import flash.events.FileListEvent;

         private var downFileURL:URLRequest;
    private var netFile:File;
   
    public function downLoad(netFileURL:String):void{
       downFileURL = new URLRequest(netFileURL);
     netFile = new File();
     configureListeners(netFile);
     netFile.download(downFileURL);
    }
   
    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:File = File(event.target);
     trace("下载文件本地存放绝对路径:" + file.nativePath);    //下载文件本地存放绝对路径:E:\flex4\logo_cn.gif
     trace(file.url);    //file:///E:/flex4/logo_cn.gif
    }
   
    private function openHandler(event:Event):void {
//     trace("openHandler: " + event);
    }
   
    private function progressHandler(event:ProgressEvent):void {
     var file:File = File(event.target);
     trace("文件本地化后的名称:" + file.name);      //文件本地化后的名称:logo_cn.gif
     trace("文件下载到本地的日期:" + file.creationDate);    //Fri Jan 15 09:15:29 GMT+0800 2010
     trace("到本地时的文件大小:" + file.size);      //到本地时的文件大小:7763
     trace("已下载字节数:" + event.bytesLoaded);    //已下载字节数:7763
     trace("文件总字节数:" + event.bytesTotal);     //文件总字节数:7763
    }
   
    private function cancelHandler(event:Event):void{
//     trace("cancelHandler: " + event);
    }
   
    private function completeHandler(event:Event):void {
     var file:File = File(event.target);
     trace("文件格式:" + file.type);    //文件格式:.gif
     trace("文件格式(没点,推荐使用的):" + file.extension);    //文件格式(没点,推荐使用的):gif
     trace("文件创建者:" + file.creator);    //文件创建者:null
     trace(file.data);    //
     trace("是否为目录:" + file.isDirectory);    //是否为目录:false
     trace("是否隐藏:" + file.isHidden);    //是否隐藏:false
     trace("存储分区空间总大小(字节):" + file.spaceAvailable);    //存储分区空间总大小(字节):148634128384
    }
   
    private function ioErrorHandler(event:IOErrorEvent):void {
     trace("错误信息: " + event);
    }
   
    private function securityErrorHandler(event:SecurityErrorEvent):void {
     trace("securityErrorHandler: " + event);
    }
   
   ]]>
</fx:Script>

<mx:Button x="300" y="50" label="远程文件下载"
      click="downLoad('http://www.google.cn/intl/zh-CN/images/logo_cn.gif');"/>

</s:WindowedApplication>

 

 

http://blog.csdn.net/liwei3324/article/details/5770672

分享到:
评论

相关推荐

    flex 教程 完整版 速学版

    2. LCDS/LiveCycle Data Services:更高级的企业级服务,提供数据推送、远程方法调用(RPC)、数据缓存等功能,方便Flex应用与Java EE应用集成。 四、Flex开发流程 1. 创建项目:在IDE中创建Flex项目,选择对应的...

    Flex4学习资料

    Flex4,全称为Adobe Flex 4,是一款由Adobe公司推出的开放源码框架,主要用于构建富互联网应用程序(RIA,Rich Internet Applications)。它基于ActionScript 3.0编程语言和Flash Player或Adobe AIR运行时环境,提供...

    flex开发之-->葵花宝典(包含ActionScript3,0教程)

    6. **ActionScript 3.0编程技巧**:可能涵盖了高级主题,如动画制作、性能优化、数据访问和远程服务调用(如AMF或SOAP)等,这些技巧对于提升Flex应用的用户体验至关重要。 7. **Flex与Flash Player/AIR集成**:...

    Enterprise Development with Flex

    - **技术实现**:使用Flex和AIR技术,开发者可以创建一个既可以在桌面环境下运行又可以访问后端服务器的应用程序。这种应用可以支持离线操作,并在重新连接网络时自动同步数据。 #### 知识点九:利用AMF协议同步...

    flex4 权威指南 training from source

    配套的源码文件flex4tfs.zip包含了大量的实例代码,这些代码覆盖了书中讲解的各种技术点,读者可以通过阅读和运行这些代码,更好地理解和应用书中的知识。 总之,《Flex4 权威指南 Training from Source》是一本...

    StepByStep学FLEX教程.pdf

    - **FLEX简介**:FLEX是一种用于构建跨平台的富互联网应用程序(RIA)的技术,它结合了Adobe Flash Player和Adobe AIR来实现高性能的用户体验。FLEX提供了一套强大的框架和工具集,使开发者能够快速创建美观且功能丰富...

    使用Flash Professional CS5开发Android AIR应用

    - **Flash Builder 4.5 (Burrito) + Flex SDK 4.5 (Hero)**:这是另一个用于创建 AIR 应用的工具组合,特别适合那些需要更高级编程控制的应用。 #### 安装 - **安装 Flash Professional CS5**: - 需要先从 ...

    Flash Media Server 3.5 开发的20多个例子

    通过这些实例,学习者不仅可以掌握FMS的基本操作,还能了解到高级特性的运用,从而在实际项目中发挥FMS的最大潜力。每个实例都包含了详细的代码示例和解释,有助于读者一步步地跟随实践,加深理解。 总的来说,...

    Advanced.ActionScript.3.with.Design.Patterns

    这本书是面向已经掌握基础ActionScript的开发者,旨在提升他们的编程技能,使他们能够利用设计模式在Flash、Flex或AIR等平台开发更高效、可维护的代码。 ActionScript 3(AS3)是Adobe Flash Platform的主要脚本...

Global site tag (gtag.js) - Google Analytics