WEB开发网
开发学院图形图像Flash 使用FLEX进行多文件上传和自定义上传信息 阅读

使用FLEX进行多文件上传和自定义上传信息

 2009-01-19 11:55:04 来源:WEB开发网   
核心提示:在Web应用中上传文件是比较常见的需求,在这里通过一个实际应用向大家介绍一下在Flex下如何进行多文件上传,使用FLEX进行多文件上传和自定义上传信息,并在上传文件的同时提供一些自定义描述信息以便数据逻辑处理,功能需求首先通过以下界面了解一下需求:主要功能包括:1)允许添加多个上传的文件 2)自定义文件标题3)可以对没

在Web应用中上传文件是比较常见的需求,在这里通过一个实际应用向大家介绍一下在Flex下如何进行多文件上传,并在上传文件的同时提供一些自定义描述信息以便数据逻辑处理。

功能需求  

首先通过以下界面了解一下需求:

使用FLEX进行多文件上传和自定义上传信息

主要功能包括:

1)允许添加多个上传的文件

2)自定义文件标题

3)可以对没上传的或正在上传的文件删除

4)上传过程把窗体隐藏在后台,不影响用户的其他的操作(这个就很简单,把窗体隐藏起来在主界面显示个上进工作按钮就可以了,需要的时候再点击一下查看进度)

定义文件上下传类

packageCodes
{
  importHFSoftFx.HFSoftCoreFun;
  
  importflash.events.DataEvent;
  importflash.events.ProgressEvent;
  importflash.net.FileReference;
  importflash.net.URLRequest;
  
  publicdynamicclassUploadFile
  {
    publicstaticvarDEFAULT:int=0;
    publicstaticvarLOADING:int=1;
    publicstaticvarCOMPLETE:int=2;
    publicfunctionUploadFile()
    {
    }
    privatevarmState:int=DEFAULT;
    publicfunctiongetState():int
    {
      returnmState;
    }
    privatevarmName:String;
    publicfunctiongetName():String
    {
      returnmName;
    }
    publicfunction setName(value:String):void
    {
      mName=value;
    }
    
    privatevarmSize:int;
    publicfunctiongetSize():int
    {
      returnmSize;
    }
    publicfunctionsetSize(value:int):void
    {
      mSize=value;
    }
    privatevarmLoadSize:int;
    publicfunctiongetLoadSize():int
    {
      returnmLoadSize;
    }
    publicfunctionsetLoadSize(value:int):void{
      mLoadSize=value;
    }
    
    privatevarmFileRef:FileReference;
    publicfunctiongetFileRef():FileReference
    {
      returnmFileRef;
    }
    publicfunctionsetFileRef(value:FileReference):void
    {
      mFileRef=value;
    }
    publicfunctionUpload(request:URLRequest,complete:Function=null,
    progress:Function=null):void{
      FileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,
      function(event:DataEvent){
        varstr:String= event.data.substr(1,event.data.length-1);
        varx:XML=newXML(str);
        if(x.Exception!=''&&x.Exception!=null)
        {
          HFSoftCoreFun.AlertError(x.Exception);
        }
        else
        {
          mState=COMPLETE;
          if(complete!=null)
            complete();
        }
          
      });
      FileRef.addEventListener(ProgressEvent.PROGRESS
        ,function(event:ProgressEvent){
          LoadSize=event.bytesLoaded;
          Size=event.bytesTotal;
          if(progress!=null)
            progress();
          
        });
      mState=LOADING;
      FileRef.upload(request);
      
    }
  }
}

1 2 3 4 5  下一页

Tags:使用 FLEX 进行

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接