`
hgfghw6
  • 浏览: 45374 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

Flex 文件上传导入组件

 
阅读更多

  上文讲到Flex利用Blazeds来上传文件,本文则封装了一个组件用于文件的上传导入,其主要功能有:
  1)文件的选择;
  2)文件类型的限定,比如只能选择txt文件,图片文件等;
  3)文件上传,利用Blazeds;
  4)文件导入,利用Blazeds;
  5)上传、导入的事件分发;
  1、文件上传组件核心代码  flex/spark"                      xmlns:mx="library://ns.adobe.com/flex/mx" width="300" height="28" creationComplete="init()">                                                                                          -->                                        [Event(name="result", type="event.FileImportEvent")]                    [Event(name="fault", type=" event.FileImportEvent")]                                        加载文件
  }
  /**
  * 设置文件过滤,打开文件选择框时刻选择哪些类型的文件
  * FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png")
  */ 
  public function set fileFilter(fileType:String):void{
  if(!StringUtil.isEmpty(fileType) && StringUtil.trim(fileType).length>3){
  _fileFilter = [];
  _fileFilter.push(new FileFilter("("+fileType+")",fileType));
  }
  }
  // Property: maxFileSize,Flash Player Limit 100 mb
  private var _maxFileSize:Number = 1024*1024*20;
  [Bindable]
  /**
  * 读取和设置文件最大尺寸,单位为Byte,1K = 1024Byte,默认值为20M
  */
  public function get maxFileSize():Number
  {
  return _maxFileSize;
  } 
  public function set maxFileSize(size:Number):void
  {
  _maxFileSize = size;
  }
  private function checkFile():Boolean{
  var blnResult:Boolean = true;
  if(StringUtil.isEmpty(txtFileInfo.text)){
  Alert.show("请选择要上传的文件!");
  return false;
  }
  if(file.size>_maxFileSize){    //文件大小验证失败
  Alert.show(StringUtil.format("该文件尺寸{0} 超出最大尺寸 {1}.",file.size/1000,_maxFileSize/1000));
  blnResult = false;
  }
  if(file.data==null){
  Alert.show("文件正在加载中,请稍等!");
  blnResult = false;
  }
  return blnResult;
  }
  protected function btnBrowse_clickHandler(event:MouseEvent):void
  {
  file.browse(_fileFilter);//打开文件选择框
  }
  protected function btnDelete_clickHandler(event:MouseEvent):void
  {
  //删除远程服务器的文件
  //清空txtFileInfo
  txtFileInfo.text = "";
  txtFileInfo.toolTip = "";
  }                               protected function ro_resultHandler(event:ResultEvent):void                             {                                      this.dispatchEvent(new FileImportEvent(FileImportEvent.RESULT,event.resul t));                             }                               protected function ro_faultHandler(event:FaultEvent):void                             {                                      this.dispatchEvent(new FileImportEvent(FileImportEvent.FAULT,null,event.f ault));                             }                                                          public function importFile(headers:Array):Boolean{                                      var isSuccess:Boolean = checkFile();                                      if(isSuccess){                                                ro.importFile(file.data,headers,file.type);                                      }                                      return isSuccess;                             }                                                          public function uploadFile():Boolean{                                      var isSuccess:Boolean = checkFile();                                      if(isSuccess){                                                ro.uploadFile(file.data,file.type);                                      }                                      return isSuccess;                             }                      ]]>                              
  
   2、FileImportEvent事件 package event {     import flash.events.Event;          import mx.rpc.Fault;       publicclass FileImportEvent extends Event     {        publicstaticconst RESULT:String      = "result";        publicstaticconst FAULT:String       = "fault";        //        privatevar _result:Object;        privatevar _fault:Fault;         //        publicfunction FileImportEvent(type:String, result:Object=null, fault:Fault=null)        {            super(type,true);            this._result = result;            this._fault = fault;        }        //        publicfunctionget result():Object{            return _result;        }        publicfunctionset result(value:Object):void{            _result = value;        }        //        publicfunctionget fault():Fault{            return _fault;        }        publicfunctionset fault(value:Fault):void{            _fault = value;        }     } } 3、示例  flex/spark"                xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="800" minHeight="600" creationComplete="init()" width="370" height="180"                xmlns:fileupload="whh.flex.controls.fileupload.*">                               
  
  
  
  
  
分享到:
评论

相关推荐

    自己封装的Flex文件上传组件FileInput

    《自封装Flex文件上传组件FileInput详解》 在IT行业中,开发用户友好的文件上传功能是常见的需求。本文将深入探讨一个自封装的Flex文件上传组件——FileInput,旨在帮助开发者更好地理解和应用这一工具,提升项目的...

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

    Flex文件上传技术是基于Adobe Flex框架实现的一种交互式文件上传方式,常用于GIS(Geographic Information System,地理信息系统)这样的应用中,以便用户能够方便地上传地理数据、地图图像等文件。在我负责的GIS...

    flex 上传excel 导入数据库

    标题 "flex 上传excel 导入数据库" 涉及的技术点主要集中在使用Adobe Flex进行文件上传,特别是Excel文件,并将其数据导入到数据库中。Flex是一种开源的RIA(富因特网应用程序)开发框架,使用MXML和ActionScript...

    Flex 上传组件(可选择文件类型)

    Flex是Adobe公司开发的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。在Flex中,上传组件是...记住,实际的文件上传逻辑通常需要后端服务的支持,这部分不在Flex组件本身,但同样重要。

    Flex4 文件上传

    在实际开发中,为了部署和测试此Flex4+PHP文件上传解决方案,你需要安装Flash Builder 4.5,导入提供的FileUpload工程,配置服务器端的PHP环境,确保服务器支持Flash Player运行,然后进行编译和测试。完成这些步骤...

    flex3+java文件上传

    导入这个项目后,可以直接运行并测试文件上传功能,这对于学习和理解Flex3与Java之间的文件上传交互非常有帮助。在实际应用中,可以根据具体需求进行相应的定制和优化,比如添加多文件上传、断点续传等功能。

    Flex导入Excel文件的应用部分代码

    在Flex开发中,导入Excel文件是一项常见的需求,特别是在数据处理和可视化应用中。Flex是一种基于ActionScript 3.0的开放源代码框架,用于构建富互联网应用程序(RIA)。要实现Flex导入Excel文件的功能,通常会涉及...

    Flex调用JavaServlet将组件快照导出成图片

    通过这种方式,Flex与JavaServlet的集成使得我们能够跨平台地处理图像数据,将Flex应用程序的组件快照导出为实际的图片文件。这种技术在需要将用户界面截图保存或分享的场景中非常有用,例如在设计工具、教学演示...

    flex上传文件夹插件

    Flex上传文件夹插件是一种基于Adobe Flex技术的组件,它扩展了Flex应用程序的功能,使得用户能够轻松地上传整个文件夹,而不仅仅是个别文件。在传统的Web应用中,上传文件通常局限于单个文件的选择,而Flex上传...

    Flex图片上传实例

    - **FileReference**: Flex中用于处理文件上传的主要类,可以通过其提供的方法来打开文件选择对话框并获取用户选择的文件。 - **ByteArray**: 用于存储文件数据,通常在上传前将文件转换为字节数组形式。 - **...

    Flex3ReadWriteExcel(flex3导入导出excel表格)

    本知识点主要聚焦于Flex3如何实现数据的读写操作,特别是与Microsoft Excel文件的交互,即“Flex3ReadWriteExcel(flex3导入导出excel表格)”。这在实际业务场景中非常常见,例如数据分析、报表生成以及数据交换等。 ...

    flex导入03版excel

    这涉及到多个技术点,包括文件上传、Excel数据读取以及与Flex组件的交互。 首先,我们需要创建一个Flex界面,提供一个文件输入控件让用户选择要导入的Excel文件。在`CustomerImport.mxml`这个文件中,可能会包含一...

    Flex+Java Servlet文件上传实例

    【Flex+Java Servlet文件上传实例】是一个典型的Web应用程序开发中的技术组合,主要用于实现用户通过前端界面上传文件到服务器的功能。Flex是一种基于ActionScript的富互联网应用程序(RIA)开发框架,而Java ...

    Flex利用as3xls导入excel数据表

    这篇博文“Flex利用as3xls导入excel数据表”探讨了如何在Adobe Flex项目中读取和导入Excel(.xls)文件的数据,以便在Flex应用程序中进行进一步处理或展示。Flex是一个开源的、基于ActionScript 3的框架,用于构建富...

    flex自己开发的demo

    需要注意的是,文件上传需要处理跨域问题,确保符合同源策略。 5. **生成多级树**: 在Flex中,可以使用`mx.controls.Tree`组件来展示层次结构的数据。多级树通常需要一个数据模型来表示层级关系,例如使用`mx....

    flex-iframe-1.4.6

    在使用flex-iframe-1.4.6时,开发者需要了解如何将库导入到他们的Flex项目中,这通常涉及到添加库的SWC文件到构建路径或者通过MXML或ActionScript代码引用库中的类。同时,理解如何使用提供的API来创建、配置和控制...

    flex FCKEditor 下载

    这个下载可能包含了一个预编译的SWC库文件,用于在Flex项目中直接导入,还可能包括源代码和其他相关资源,以便开发者根据需要进行定制。 集成FCKEditor到Flex 4项目中,通常涉及以下步骤: 1. **导入FCKEditor库**...

    结合flash制作的flex进度条

    在Flex中,进度条组件通常用于显示应用程序执行的某个任务的进度,如数据加载、文件上传或计算过程。Flex标准库中包含了多种进度条组件,如HProgressBar(水平进度条)和VProgressBar(垂直进度条),这些组件可以...

    flex的三维地图的制作

    2. **数据上传与服务发布**:将数据导入到iServer Java,发布为地图服务,以便于在Flex应用中调用。 3. **开发Flex客户端**:使用Flex Builder或IntelliJ IDEA等工具,创建新的Flex项目。引入必要的库,如Sjwl.h和...

    Flex读取excel

    private var stateText:String = "请选择一个文件上传"; protected override function createChildren():void { super.createChildren(); file.addEventListener(Event.SELECT, file_select); file....

Global site tag (gtag.js) - Google Analytics