`
hanyiduo
  • 浏览: 79415 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

文件下载例子

    博客分类:
  • Flex
阅读更多
接下来的例子演示了Flex中如何利用Flash播放器的FileReference类(flash.net.FileReference),从服务器端下载文件到本地。在这个例子中,同样还可以了解DataGrid中通过设置showDataTips属性为True并且在dataTipField列中指定一个值。
<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
        layout="vertical" 
        verticalAlign="middle" 
        backgroundColor="white" 
        creationComplete="init();">   
  
    <mx:Script> 
        <![CDATA[ 
            import mx.controls.Alert; 
            import mx.collections.ArrayCollection; 
            import flash.net.FileReference;   
  
            [Bindable] 
            [Embed('assets/disk.png')] 
            private var diskIcon:Class;   
  
            [Bindable] 
            private var arrColl:ArrayCollection;   
  
            /* URL of the file to download. */ 
            private const FILE_URL:String = "http://blog.minidx.com/ext/downloading-files-in-flex-using-the-filereference-class/srcview/main.zip";   
  
            private var fileRef:FileReference; 
            private var urlReq:URLRequest;   
  
            private function init():void { 
                /* Initialize the array collection to an empty collection. */ 
                arrColl = new ArrayCollection();   
  
                /* Set up the URL request to download the file specified by the FILE_URL variable. */ 
                urlReq = new URLRequest(FILE_URL);   
  
                /* Define file reference object and add a bunch of event listeners. */ 
                fileRef = new FileReference(); 
                fileRef.addEventListener(Event.CANCEL, doEvent); 
                fileRef.addEventListener(Event.COMPLETE, doEvent); 
                fileRef.addEventListener(Event.OPEN, doEvent); 
                fileRef.addEventListener(Event.SELECT, doEvent); 
                fileRef.addEventListener(HTTPStatusEvent.HTTP_STATUS, doEvent); 
                fileRef.addEventListener(IOErrorEvent.IO_ERROR, doEvent); 
                fileRef.addEventListener(ProgressEvent.PROGRESS, doEvent); 
                fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR, doEvent); 
            }   
  
            private function doEvent(evt:Event):void { 
                /* Create shortcut to the FileReference object. */ 
                var fr:FileReference = evt.currentTarget as FileReference;   
  
                /* Add event order and type to the DataGrid control. */ 
                arrColl.addItem({data:arrColl.length+1, type:evt.type, eventString:evt.toString()});   
  
                try { 
                    /* Update the Model. */ 
                    fileRefModel.creationDate = fr.creationDate; 
                    fileRefModel.creator = fr.creator; 
                    fileRefModel.modificationDate = fr.modificationDate; 
                    fileRefModel.name = fr.name; 
                    fileRefModel.size = fr.size; 
                    fileRefModel.type = fr.type; 
                    /* Display the Text control. */ 
                    txt.visible = true; 
                } catch (err:*) { 
                    /* uh oh, an error of sorts. */ 
                } 
            }   
  
            private function downloadSourceCodeZip():void { 
                /* Clear existing array collection. */ 
                arrColl = new ArrayCollection(); 
                /* Hide the Text control. */ 
                txt.visible = false; 
                /* Begin download. */ 
                fileRef.download(urlReq); 
            }   
  
            private function showAlert(item:Object):void { 
                Alert.show(item.eventString, item.type); 
            } 
        ]]> 
    </mx:Script>   
  
    <mx:Model id="fileRefModel"> 
        <file> 
            <creationDate>{""}</creationDate> 
            <creator>{""}</creator> 
            <modificationDate>{""}</modificationDate> 
            <name>{""}</name> 
            <size>{""}</size> 
            <type>{""}</type> 
        </file> 
    </mx:Model>   
  
    <mx:Button id="downloadBtn" label="Download example source code" icon="{diskIcon}" click="downloadSourceCodeZip()" toolTip="{FILE_URL}" height="40" />   
  
    <mx:DataGrid id="debug" dataProvider="{arrColl}" width="{downloadBtn.width}" rowCount="5" rowHeight="22" itemClick="showAlert(event.currentTarget.selectedItem)"> 
        <mx:columns> 
            <mx:DataGridColumn dataField="data" headerText="#" width="20" /> 
            <mx:DataGridColumn dataField="type" headerText="Type" showDataTips="true" dataTipField="eventString" /> 
        </mx:columns> 
    </mx:DataGrid>   
  
    <mx:Text id="txt" condenseWhite="true" visible="false"> 
        <mx:text> 
        creationDate: {fileRefModel.creationDate} 
        creator: {fileRefModel.creator} 
        modificationDate: {fileRefModel.modificationDate} 
        name: {fileRefModel.name} 
        size: {fileRefModel.size} 
        type: {fileRefModel.type} 
        </mx:text> 
    </mx:Text>   
  
</mx:Application>

分享到:
评论

相关推荐

    java实现下载例子

    这个例子展示了如何使用Java和JSP(JavaServer Pages)技术来创建一个简单的文件下载服务。以下是对给定代码的详细解释: 1. **字符编码转换**: 在处理中文文件名时,需要考虑字符编码的问题。在`toUtf8String()`...

    servlet 文件上传下载例子

    在这个"Servlet 文件上传下载例子"中,我们将探讨如何使用Servlet实现文件的上传和下载功能,这对于构建一个简单的图片文件服务器至关重要。 1. **文件上传** - **MultipartRequest**: 在Servlet中,处理文件上传...

    VisualFreeBasic+Miniblink实现文件下载例子

    VFB有Miniblink的demo,但是没有文件下载的例子,作为一个浏览器组件,怎么能少了这个功能呢? 由于Miniblink免费版的dll使用的是cdecl导出函数,在做开发的时候,wkeDownload2的回调函数也是cdecl,不然...

    iphone文件下载模块代码例子

    在iOS开发中,iPhone文件下载模块是至关重要的一个部分,特别是在构建移动应用时,用户可能需要从服务器上获取各种文件,如图片、音频、视频、文档等。`FFDownloadManager`是一个可能的自定义下载管理器类名,用于...

    springMVC 上传下载例子

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建动态Web应用程序提供了一种模型-视图...以上就是关于"Spring MVC 上传下载例子"的知识点介绍。理解并熟练掌握这些内容,将有助于你构建功能完善的Web应用程序。

    java文件上传例子

    这个例子提供了一个简单的文件上传功能,可以通过集成开发环境MyEclipse进行演示。在这个过程中,用户可以选择本地文件并将其上传到服务器上的指定目录——在这种情况下是工程的发布目录下的`upload`文件夹。 首先...

    DelphiXE10开发Http下载大文件的例子

    在这个示例中,我们将关注如何利用HTTPClient组件来实现大文件的下载,同时展示下载速度、进度,并支持暂停和继续下载。 首先,`HttpDownload.dpr`是项目的主要入口点,它通常包含了应用程序的初始化和启动代码。在...

    多文件上传例子及说明

    在IT行业中,多文件上传是一项常见的功能,尤其在文件管理、文档共享以及协作类应用中。这个"多文件上传例子及说明"的压缩包提供了一个示例,教你如何实现一次性上传一个文件夹内的所有文件。以下是对这个主题的详细...

    一个loadrunner文件下载的例子

    在这个"一个loadrunner文件下载的例子"中,我们将深入探讨如何使用LoadRunner来创建并执行一个文件下载的脚本。 首先,我们需要了解LoadRunner的基本架构。它主要由三个组件组成:Virtual User Generator(虚拟用户...

    文件下载的例子1

    文件下载,很适合初级接触这类操作文件及文件夹的学者

    文件类型_Excel xls例子.rar

    文件类型_Excel xls例子 For i = 1 To xlBook.Worksheets("Sheet1").UsedRange.Rows.Count 'Sheet1 的总行数 For n = 1 To xlBook.Worksheets("Sheet1").UsedRange.Columns.Count 'Sheet1 的总列数

    android下载文件小例子,带进度条显示

    这个"android下载文件小例子,带进度条显示"的项目就是一个很好的学习素材,它涵盖了以下几个关键知识点: 1. **HTTP下载**:在这个示例中,开发者使用了HTTP协议来获取远程服务器上的文件。HTTP是最基础的网络通信...

    上下载网页程序的例子using System.Net;if( rddownload.Checked==true)

    上下载网页程序的例子using System.Net;if( rddownload.Checked==true) { btn.Text="开始下载"; } if ( rdupload.Checked==true) { btn.Text="开始上载"; } if( rddataload.Checked==true) { btn.Text=...

    ini文件读写例子

    你可以参考提供的"ini创建写入读取例子"压缩包中的代码,这是一个完整的Delphi程序,展示了如何创建、写入和读取ini文件的完整流程。 通过以上步骤,你可以在Delphi中轻松地管理和操作ini配置文件,为你的应用程序...

    红兔子网盘进度下载文件例子

    本示例聚焦于红兔子网盘如何实现文件的进度下载功能,这对于用户来说是一项非常实用的功能,特别是对于大文件的下载,它允许用户在中断后继续之前停止的地方,而无需重新开始整个下载过程。 首先,我们需要理解什么...

    后端接口文档例子 word

    "后端接口文档详解" 在本文档中,我们将详细介绍后端接口文档的编写,特别是Java接口文档的编写。通过本文档,我们将了解后端接口文档的重要性、编写格式、请求参数、返回参数等方面的知识点。 一、为什么需要后端...

    c#winzip文件压缩下载例子,文件批下载源码

    在C#编程环境中,WinZip库提供了一种方便的方式来实现文件和目录的压缩与下载功能。这个例子主要涉及以下几个核心知识点: 1. **WinZip库的使用**:WinZip SDK(Software Development Kit)允许开发者在C#应用中...

    web文件上传下载的例子,asp.net文件上传下载的例子,上传文件,下载文件

    在ASP.NET中,实现Web文件上传和下载是常见的功能需求,尤其对于构建交互性强的Web应用来说至关重要。本文将深入探讨如何在ASP.NET环境中处理文件的上传与下载操作。 一、文件上传 1. **HTML表单设计**:首先,...

    java从网上下载文件例子

    java从网上下载文件例子,里面有两个文件,一个是封装类,一个是测试类, 该例子需要 commons-codec-1.3.jar commons-httpclient-3.1.jar commons-logging.jar 3个jar包才可以运行!

Global site tag (gtag.js) - Google Analytics