`
morry
  • 浏览: 131464 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

flex上传文件

    博客分类:
  • flex
阅读更多

最近在学习flex, 看来些资料, 写了个flex上传文件。 现在贴出来记录一下。

实现上传文件,上传处理进度以及取消上传等功能。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
 <mx:Script>
  <![CDATA[
   import mx.events.CloseEvent;
   import mx.controls.Alert;
   import mx.managers.CursorManager;
   
   private var file:FileReference = new FileReference();   
   private var serverSide:String = "http://www.flash.com/uploadPic.php";//指明后台处理的文件
   
   [Bindable]
   private var percent : int = 0;
   
   public function init():void
   {
    file.addEventListener(Event.SELECT, selectHandler);
    file.addEventListener(Event.COMPLETE, completeHandler);
    file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
    file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
    file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteDataHandler);
    browseBtn.addEventListener(MouseEvent.CLICK, browseHandler);
   }
   
   public function browseHandler(event:MouseEvent): void
   {
    file.browse();
   }
   
   public function reset(): void
   {
    // clear input file
    fileTxt.text="";
    
    // reset process bar
    processBar.setProgress(0, 100);
    processBar.visible=false;
    processBar.label="Uploading " + 0 + "%";
   }
   
   public function selectHandler(event:Event): void
   {
    // display selected file
    fileTxt.text=file.name;
   }
   
   public function ioErrorHandler(event:IOErrorEvent): void
   {
    Alert.show("upload file IO Error!");
   }
   
   public function uploadCompleteDataHandler(event:DataEvent): void
   {
    
   }
   
   public function progressHandler(event:ProgressEvent): void
   {
    var size:int = file.size;     
    percent = event.bytesLoaded/event.bytesTotal * 100;    
    
    // set process bar
    processBar.setProgress(percent, 100);
    processBar.label="Uploading " + percent + "%";
    
    if (event.bytesLoaded == event.bytesTotal)
    {
     processBar.label="Upload file successfully!";
     image.visible=false;
    }
   }
   
   private function completeHandler(event:Event):void
   {
         }

   public function upload(): void
   {
    if(fileTxt.text == "")
    {
     Alert.show("Please select upload file");
     return;
    }
    
    processBar.visible=true;
    image.visible=true;
    file.upload(new URLRequest(serverSide));
   }
   
   public function cancelHandler():void
   {
    Alert.show("Could you cancel the uploading!","Confirm", 3, this, cancelEvent);
   }
   
   public function cancelEvent(event:CloseEvent):void
   {
    if (event.detail == Alert.YES)
    {
     file.cancel();
     image.visible=false;
     
     processBar.setProgress(0, 100);
     processBar.label="You have canceled the upload file!";
    }
   }
  ]]>
 </mx:Script>
 <mx:Panel width="428" height="256" layout="absolute" title="File Upload" fontSize="12" y="58" x="59">
  
  <mx:Label x="49" y="32" text="File:"/>
  <mx:TextInput x="88" y="30" id="fileTxt" width="226" editable="false"/>
  <mx:Button id="browseBtn" x="316.5" y="30" label="Browse"/>
  <mx:Button id="uploadBtn" x="88" y="92" label="UPLOAD IT" click="upload()"/>
  <mx:Button id="cancelBtn" x="183" y="92" label="Cancel" visible="false"/>
  <mx:Button id="resetBtn" x="231" y="92" label="Reset" click="reset()"/>
  
  <mx:ProgressBar id="processBar" labelPlacement="bottom" themeColor="#EE1122" minimum="0"
   visible="false" maximum="100" color="0x323232"    label="Loading 0%"
   direction="right" mode="manual" width="358.5" y="144" x="21.5"/>
   
  <mx:Image id="image" visible="false" x="381" y="139" source="assets/cancel_16.png" click="cancelHandler()"/>        
 </mx:Panel>
 
</mx:Application>

 

  • Upload.rar (358.3 KB)
  • 描述: flex 3工程
  • 下载次数: 214
  • 大小: 6.8 KB
  • 大小: 9.4 KB
  • 大小: 16.6 KB
分享到:
评论
1 楼 qingteng1983 2010-11-04  
你好!
能支持断点续传吗?

相关推荐

    FLEX上传文件,flex upload

    在标题“FLEX上传文件,flex upload”和描述“flex上传文件的例子,支持多文件上传。”中,我们关注的核心知识点是Flex中的文件上传功能。 文件上传是Web应用中的常见需求,特别是在处理用户提交的多媒体内容时。在...

    Flex 上传文件控件 (带java服务端)

    本项目提供了一个完整的Flex文件上传控件,且集成了Java服务端处理,允许用户上传文件到服务器,并能进行多文件或单文件选择,以及设置上传文件大小限制,同时展示上传进度条,为用户提供友好的交互体验。...

    Mobile FLEX上传文件

    Mobile FLEX上传文件是一种在移动设备上利用Adobe Flex技术实现文件上传至服务器的过程。Flex是基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA),它支持多种平台,包括移动设备。在本场景中,...

    flex 上传文件(.net)

    Flex上传文件到.NET服务器是一种常见的交互方式,尤其在开发富互联网应用程序时。本文将深入探讨Flex客户端如何与.NET服务器进行文件上传的详细过程,并提供关键的技术知识点。 首先,`Flex`是一个开源的富互联网...

    Flex上传文件与下载

    - **Button**:两个按钮,分别用于打开文件选择对话框(选择文件)和上传文件。 - **List**:用于显示已选中的文件列表。 - **Button**:用于触发文件下载操作。 - **ProgressBar**:用于显示文件上传进度。 #### ...

    flex 上传文件代码

    在Flex中处理文件上传是一项常见的任务,尤其是在开发涉及用户交互和数据交换的Web应用时。下面我们将深入探讨Flex中的文件上传机制及其限制。 1. Flex文件上传组件:Flex提供了FileReference类,它是Flash Player ...

    Flash Flex 上传文件

    FileReference提供了选择文件、读取文件内容以及上传文件的方法。例如,你可以创建一个按钮,当用户点击时弹出文件选择对话框,选择的文件将存储在FileReference对象中。然后,通过调用FileReference的upload方法,...

    FLEX上传文件代码

    - 开始上传文件时,监听器会捕捉到`Event.COMPLETE`事件,表示文件上传完成。 - 在上传过程中,通过`ProgressEvent.PROGRESS`事件实时更新进度条。 #### 4. **异常处理** 当出现无法浏览文件或者上传失败的情况时...

    flex+java文件上传完整实例

    1. **FileReference类**:Flex中的FileReference类是与文件操作相关的基础,它允许用户选择一个或多个文件,并提供了读取、保存和上传文件的功能。 2. **事件监听**:在用户选择文件后,我们需要监听DataEvent....

    flex 上传文件转换成二进制类

    一个实现FLEX图片上传转换二进制的类 替换通过外部服务上传

    Flex 上传文件的demo

    实现DataGrid多文件上传,希望对你有帮助!

    Flex附件上传下载

    在Flex上传文件的场景中,我们需要创建一个自定义的HttpHandler,处理POST请求,并接收从Flex客户端传来的文件数据。接收到文件后,可以将其保存到服务器的指定位置。 下载部分则相对简单,通常由Flex客户端发起...

    Flex文件上传文件代码

    Flex 文件上传的文件代码 交你一步一步的完成上传功能

    Flex 多文件上传组件

    1. **安全性**:确保只有授权的用户才能上传文件,并且上传的文件不包含恶意代码。 2. **并发性**:如果多个用户同时上传,服务器需要处理并发请求,避免资源冲突。 3. **用户体验**:提供良好的反馈,如进度指示、...

    Flex多文件上传+md5验证文件是否上传

    标题“Flex多文件上传+md5验证文件是否上传”揭示了该技术的核心要点:使用Flex来处理多个文件的上传,并通过MD5哈希校验确保上传的文件与原始文件一致,防止数据篡改。 1. **多文件上传**:在Flex中,可以利用...

    flex文件上传下载,在线以pdf形式浏览文件

    例如,使用HTTPS进行加密传输,对上传文件进行病毒扫描,以及限制非法文件类型。同时,优化文件传输速度,比如采用分块上传和断点续传,以提高大文件上传的效率。 6. **后端接口**:Flex前端需要与后端服务进行交互...

    flash上传文件,flex上传,无刷新上传,php上传,含源码

    本文将深入探讨“flash上传文件,flex上传,无刷新上传,php上传”这一主题,并结合提供的源码文件,分析实现这些功能的关键技术和步骤。 首先,让我们了解一下“Flash上传文件”。在早期的Web开发中,Flash由于其强大...

    Flex文件上传(某GIS系统,我负责的文件上传部分)

    这个类提供了选择本地文件、读取文件内容以及上传文件到服务器的方法。用户通过点击按钮触发文件选择对话框,选择后,`FileReference`会处理文件并准备上传。 3. **事件监听**:为了跟踪文件选择和上传过程,我们...

    Flex文件上传的组件

    Flex文件上传组件是一种基于Adobe Flex技术的用户界面组件,它允许用户在Web应用程序中选择并上传文件。在Flex中,这种组件通常会显示一个文件选择对话框,让用户选择要上传的文件,并且会提供一个进度条来显示上传...

    Flex 向 java服务器 上传文件

    在Flex中,通过FileReference类选择和上传文件;在Java端,使用Spring MVC的MultipartFile接口接收并处理上传的文件。这个过程涉及到前端与后端的交互,对理解网络通信和文件处理机制有很好的实践意义。

Global site tag (gtag.js) - Google Analytics