首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex中使用FileReference类上载文件

2012-10-08 
Flex中使用FileReference类下载文件下面的实例演示了Flex中的 FileReference 类的基本用法,允许用户从服务

Flex中使用FileReference类下载文件

下面的实例演示了Flex中的 FileReference 类的基本用法,允许用户从服务器上下载一个文件。这个例子也演示了你可以在 DataGrid组件中显示数据提示(data tips) ,只要把 data grid column 的 showDataTips 属性设置为 true ,然后把 column 的 dataTipField 设置一个值就行了。

在下边的演示中,当用户点击按钮的时候会下载一个 zip 文件 ,然后你可以把鼠标移到 DataGrid 组件的 Type 列上,来看额外的 Event 信息。

<?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      private const FILE_URL:String = "http://www.nshen.net/blog/doc/flex/FileReference_download_test/FileReference_download_test.zip";      private var fileRef:FileReference;      private var urlReq:URLRequest;            private function init():void {        // 初始化一个空ArrayCollection        arrColl = new ArrayCollection();                // 以FILE_URL指定的地址建立一个URLRequest        urlReq = new URLRequest(FILE_URL);                // 定义一个FileReference对象,并填加一系列事件监听        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 {        // 取得当前FileReference的引用        var fr:FileReference = evt.currentTarget as FileReference;                // 填加事件顺序和类型到DataGrid组件        arrColl.addItem({data:arrColl.length+1, type:evt.type, eventString:evt.toString()});        try {          // 更新 Model.          fileRefModel.creationDate = fr.creationDate;          fileRefModel.Target.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>

?

热点排行