写一个js编写的文件上传控件。(原创的)

function UploadFile(){}

UploadFile.prototype={

multiupload:false,

intervale:2000000,

enable:true,

 synchro:false,

GetFileName:function(filepath){ return filepath.substr(filepath.lastIndexOf('//')+1); },

OnInit:function(objId){//初始化方法。

var FileList_Ul=document.getElementById(objId);

 if(FileList_Ul!=null){

if(FileList_Ul.parentNode.childNodes[1]!=null){

 file_obj=FileList_Ul.parentNode.childNodes[1];

var jsonmsg=file_obj.value;

var jsonobj=eval(jsonmsg);

var htmlmsg="";

if(jsonobj!=null&&jsonobj.length>0){

for(var i=0;i"+jsonobj[i].realname+"("+jsonobj[i].filesize+")删除"; }

 FileList_Ul.innerHTML=htmlmsg; } if(FileList_Ul.childNodes.length>0) FileList_Ul.style.display="";

}

}

},

onSetJson:function(FileList_Ul){//通过json数据初始化。

var jsonmsg="";

if(FileList_Ul.childNodes.length>0){

 for(var i=0;iparseInt(filesize/this.intervale))

loadcount=parseInt(filesize/this.intervale)+1;

setInterval(

 function(){

 if(FileList_Ul.childNodes.length>0){

var pargressUl=FileList_Ul.childNodes[FileList_Ul.childNodes.length-1].childNodes[1];

 if((pargressUl!=null&&pargressUl.childNodes.length>0)&&loadindex<=loadcount){

 pargressUl.childNodes[0].style.width=(pargressUl.clientWidth*loadindex/loadcount)+"px"; loadindex++;

}

}

},

500);

},

OnUpload:function(obj){//上传的方法

if(obj!=null){

 var FileList_Ul=obj.parentNode.parentNode.parentNode.nextSibling.childNodes[0];

if(FileList_Ul!=null&&FileList_Ul.tagName=="UL"){

var file_obj=obj;

if(file_obj.value!=""&&file_obj.tagName=="INPUT"){

var htmlmsg="";

var filesizeHF=FileList_Ul.nextSibling.nextSibling.value;

 if(filesizeHF==null||filesizeHF=="")

 filesizeHF=10000000;

var fileExtbool=false;

 var filefilterHF=FileList_Ul.nextSibling.nextSibling.nextSibling.value;

if(filefilterHF!="") {

var fileFileExt=GetFileExtName(file_obj.value);

var fileExts=filefilterHF.split(",");

 if(fileExts!=null&&fileExts.length>0){

 for(var i=0;i"+realname+"("+filesize+"bit)删除";

FileList_Ul.innerHTML+=htmlmsg;

}

else{

if(FileList_Ul!=null&&FileList_Ul.childNodes.length>0){

var linkbtn=FileList_Ul.childNodes[0].childNodes[FileList_Ul.childNodes[0].childNodes.length-1];

 if(linkbtn!=null&&linkbtn.tagName=="A"){ uploadobj.DelFile(linkbtn);

}

}

htmlmsg=""+realname+"("+filesize+"bit)删除";

FileList_Ul.innerHTML=htmlmsg;

}

FileList_Ul.style.display="";

uploadobj.onPargress(FileList_Ul,filesize);

uploadobj.onSetJson(FileList_Ul);

 }

},

error: function (data, status, e) { alert(e); } });

}

 else{

alert("上传的文件的后缀名不正确");

}

}

else{

alert("请选择要上传文件","操作提示");

}

if(FileList_Ul.childNodes.length>0){ FileList_Ul.style.display=""; }

}

}

}

 }

//截取文件的后缀名。

function GetFileExtName(filename){

 var index1=filename.lastIndexOf(".");

var index2=filename.length;

var postf=filename.substring(index1,index2);

//后缀名

return postf;

 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值