在好例子网,分享、交流、成长!
您当前所在位置:首页Flash 开发实例Flash网络编程 → flash 多文件上传组件

flash 多文件上传组件

Flash网络编程

下载此实例
  • 开发语言:Flash
  • 实例大小:0.02M
  • 下载次数:30
  • 浏览次数:431
  • 发布时间:2014-09-23
  • 实例类别:Flash网络编程
  • 发 布 人:boy1268
  • 文件格式:.mxml
  • 所需积分:2
 相关标签: flash 上传 文件 组件

同类人气实例

实例介绍

【实例简介】

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个文件");
    }
      
    }

实例下载地址

flash 多文件上传组件

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

相关软件

相关文章

网友评论

第 1 楼 天堂草1982 发表于: 2022-09-20 13:01 53
不能下载了

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有1条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警