嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在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个文件");
}
}