基本信息
源码名称:flash 多文件上传组件
源码大小:0.02M
文件格式:.mxml
开发语言:Flash
更新时间:2014-09-23
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

flash 多文件上传组件 支持自由新增添加删除,代码里设置 最大支持同时6个上传,可以修改成无限,在网页前段体验非常好


import flash.net.FileReference;
    import flash.net.FileFilter;
    import flash.events.*;
    import mx.controls.Alert;
    import mx.controls.ProgressBar;
    import mx.managers.PopUpManager;
    public var add:FileReference=new FileReference();
    public var names:int=1;//动态控件名字后缀
    public var namesArry:Array=new Array();
    public var file:Array=new Array();
    public var produceID:String;
    public var upNumber:int=0;//自动上传文件数目
    public var infoList:String;//用户数据
    private var showP:showPanel;
    private var cnShowP:cnShowPanel;
    private function Inot():void
    {
   
    showPa();
    var args:String=Application.application.parameters["id"];

Security.allowDomain("部署网站的域名"); 
    if(args==null)
    {
    produceID="0";
    }
    else
    {
    produceID=args;
   
    }
    AddUpLoad();
    AddUpLoad();
    //AddUpLoad();
    add.addEventListener(Event.SELECT,Fileok);
    add.addEventListener(Event.COMPLETE,DownOver);
    add.addEventListener(ProgressEvent.PROGRESS,onProgress);
   
    }
    private function showPa():void
{
showP=showPanel(PopUpManager.createPopUp(this,showPanel,true));
                 PopUpManager.centerPopUp(showP);
                 //cnShowP=cnShowPanel(PopUpManager.createPopUp(this,cnShowPanel,true));
                //PopUpManager.centerPopUp(cnShowP);
}
   
    private function DownOver(evt:Event):void//上传完成事件处理
    {
   
    this.Uptext.text="上传完毕,可继续选择文件上传";
    IsComplte("t1",1);
    // this.Label1.visible=false;
    //this.ProgressBar1.visible=false;
     
    }
    private function AddUp(evt:Event):void //选择上传文件
    {
    var imageTypes:FileFilter = new FileFilter("file (*.mp4,*.wmv,*.rmb,*.MPG)","*.mp4;*.wmv;*.rmb;*.MPG");
    var allTypes:Array = new Array(imageTypes);
    add.browse(allTypes);
    ProgressBar1.label="当前进度0%";
this.Label1.text="已上传:";
var s:String="#FFFFFF";
ProgressBar1.setStyle("themeColor",s);
    }
    private function Fileok(evt:Event):void//获取文件名
    {
     this.Uptext.text=add.name;
     
   
    }
    public function onProgress(e:ProgressEvent):void//上传进度显示
    {
      
     
var s:String="#4CE417";
ProgressBar1.setStyle("themeColor",s);
      this.Label1.text="已经上传:" e.bytesLoaded/1000 "KB 总共:" (e.bytesTotal/1024/1024).toString().substring(0,5) "MB";
      var proc:uint=e.bytesLoaded/e.bytesTotal*100;
      this.ProgressBar1.setProgress(proc,100);
      this.ProgressBar1.label="当前进度:" proc "% ";
     
    }
   
    private function cbk():void  //上传处理
    {
   
    //新增
    if(checkInfo()==false)
    {
    return;
    }
   
    if(this.Uptext.text!="上传完毕,可继续选择文件上传" && this.Uptext.text!="")
      {
       
    //this.Label1.visible=true;
    //this.ProgressBar1.visible=true; 
    getInfo();
   
    infoList=encodeURI(infoList);
    var request:URLRequest=new URLRequest("http://服务器接收端地址/upFile/default.aspx?info=" infoList);
    add.upload(request);
    //fileUpFile.upload(request);
     stateDis();
    if(file.length!=0)
    {
     
for(var i:int=0;i<file.length;i )
{

var text:String=TextInput(this.panel1.getChildByName("textInput" (i 2).toString())).text;
if(text!="上传完毕,可继续选择文件上传"&&text!="")
{
upNumber =1;//记录上传文件总数
FileReference(file[i]).upload(request);

}

}
           
            
    }
   
   
      }
      else
    {
   
    if(this.Uptext.text=="" || this.Uptext.text=="上传完毕,可继续选择文件上传")
    {
    Alert.show("请从第一个开始选择文件");
    }
     
    }
              //  var alert:Alert=new Alert();
       
        //Alert.show("请选择上传文件","提示框",Alert.YES|Alert.NO,this,onAlertClose);
     
     
    }
    private function getFileName(names:TextInput):void
    {
    names.text=add.name;
    }
    private function AddUpLoad():void//动态添加上传控件
    {
    if(file.length<5)
    {
var Time:Date=new Date();
names=names 1;
//<添加文本框>
var textInput:TextInput=new TextInput();
textInput.name="textInput" names;
textInput.editable=false;
textInput.width=215;
textInput.height=25;
textInput.x=57;
//<添加上传进度条>
var progressBar2:ProgressBar=new ProgressBar();
progressBar2.width=215;
progressBar2.minimum=0;
progressBar2.maximum=100;
progressBar2.x=57;
progressBar2.label="当前进度:0%";
progressBar2.mode="manual";
progressBar2.name="progressBar" names;
var color:String="#4CE417";
var height:int=20;
progressBar2.setStyle("themeColor",color);
progressBar2.setStyle("trackHeight",height);

//<添加进度条显示框>
var LabelShow:Label=new Label();
LabelShow.text="已上传:";
LabelShow.x=168;
LabelShow.name="LabelShow" names;

//<添加按钮>
var btnUp:Button=new Button();
btnUp.label="选择文件";
btnUp.x=289;
btnUp.name="btnUp" names;
btnUp.addEventListener(MouseEvent.CLICK,addUp1);
//处理y坐标
var kk:Array=this.panel1.getChildren();
var x1:int=0;
var x2:int=0;
var x3:int=0;
for(var i:int=0;i<this.panel1.numChildren;i )
{

if(kk[i] is  TextInput)
{  

if(TextInput(kk[i]).y>x1)
{
x1=TextInput(kk[i]).y;
}
}
if(kk[i] is  ProgressBar)
{  

if(ProgressBar(kk[i]).y>x2)
{
x2=ProgressBar(kk[i]).y;
}
}
if(kk[i] is  Label)
{  

if(Label(kk[i]).y>x3)
{
x3=Label(kk[i]).y;
}
}
}
textInput.y=x1 85;//50
btnUp.y=x1 85;
progressBar2.y=x2 85;
LabelShow.y=x3 85;
//添加控件到panel
this.panel1.addChild(textInput);
this.panel1.addChild(btnUp);
this.panel1.addChild(progressBar2);
this.panel1.addChild(LabelShow);
//** 动态更改不变控件的位置
this.panel1.height=this.panel1.height 85;
this.btnAddButton.y=this.btnAddButton.y 85;
this.btnClearButton.y=this.btnClearButton.y 85;
this.btnUpFile.y=this.btnUpFile.y 85;

//动态增加上传控件
var file1:FileReference=new FileReference();
file.push(file1);//添加FireRefrence对象到file数组中
    }
    else
    {
    Alert.show("最多一次同时上传6个文件");
    }
      
    }