WEB开发网
开发学院网页设计JavaScript 仿163网盘无刷新文件上传系统 阅读

仿163网盘无刷新文件上传系统

 2010-09-14 13:25:05 来源:WEB开发网   
核心提示: 可以看到file控件的name是FileName属性的值,默认是空的,仿163网盘无刷新文件上传系统(5),如果服务器端需要这个name的话就可以设置,这里可以看到每个file控件都有onchange来执行检测函数Check,这里说说检测后缀名,由于js不能像后台那样获取文件的文件类型,这

可以看到file控件的name是FileName属性的值,默认是空的,如果服务器端需要这个name的话就可以设置。

这里可以看到每个file控件都有onchange来执行检测函数Check,这样每次选择文件后都会用Check检测一次,这里说说这个Check函数:

Code

//检测变量
var bCheck = true;
//进行空值、文件数、后缀名、同值检测
if(!file.value){
  bCheck = false; this.onEmpty();
} else if(this.Limit && this.Files.length >= this.Limit){
  bCheck = false; this.onLimite();
} else if(!!this.ExtIn.length && !RegExp(".(" + this.ExtIn.join("|") + ")$", "i").test(file.value)){
  //检测是否允许后缀名
  bCheck = false; this.onNotExtIn();
} else if(!!this.ExtOut.length && RegExp(".(" + this.ExtOut.join("|") + ")$", "i").test(file.value)) {
  //检测是否禁止后缀名
  bCheck = false; this.onExtOut();
} else if(!!this.Distinct) {
  Each(this.Files, function(o){ if(o.value == file.value){ bCheck = false; } })
  if(!bCheck){ this.onSame(); }
}

里面有一个检测变量bCheck,然后进行空值、文件数限制、后缀名、相同文件的检测,当其中一个步骤不通过bCheck就会设为false,一个常用的检测结构。

这里说说检测后缀名,由于js不能像后台那样获取文件的文件类型,所以只能根据后缀名来判断,例如用正则判断:

/.(jpg|gif)$/i.test(file.value)

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:网盘 刷新 文件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接