写一个js编写的文件上传控件。(原创的)
2011-03-22 17:23
351 查看
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;
}
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;
}
相关文章推荐
- 一个简单的文件上传功能控件(原创)
- 一个简单的文件上传功能控件(原创)
- Delphi 文件的操作:重命名、复制、移动、删除(制作一个信息上传控件)
- [原创]使用ajaxFileUpload.js上传文件时附带额外参数。
- 一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
- js 编写上传控件
- [共享]一个文件上传的控件,绝对是精品源码
- DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.
- flow.js 一个多线程的、稳定、可恢复的上传文件JS类库
- [导入]在asp.net中利用FileUplad控件从同一个页面上传多个文件
- [原创]ASP.NET 自定义文件上传用户控件
- 【转】[原创]ExtAspNet新春贺岁版 - 文件上传控件、复选框列表控件、完善布局管理、表格的行扩展列、完整的100多个中文示例、30多处BUG修正与功能增强、《ExtAspNet秘密花园》系列文章
- 上传文件的js控件,无刷新
- [原创]自己编写的一个JS无边距滚动的类
- 在IE中必须点击input file 控件的浏览按钮才能提交上传,否则没有权限 。js文件报拒绝访问,解决办法是将input file控件定位到你要点击的地方 ,并且input file做成透明的
- (原创)js提交文件,js上传文件,纯js解决无刷新文件上传,不使用form提交文件,并获取返回值(路径url)
- JS实战应用 之 JS控制FileUpload控件上传的文件类型和清空控件选中的文件
- js判断上传控件FileUpload是否选择和文件类型
- Js获取file上传控件的文件路径总结
- 搜到 一个js判断上传的文件大小的代码