想飞就别怕摔

大爷的并TM骂人

验证上传File的类型与大小的js

 1     function checkForm(){
 2         str = document.getElementById("filePic").value.toLowerCase();
 3         var ext = str.split(".");
 4         var type = fileType.split(",");
 5         for(var i=0;i<type.length;i++){
 6             if(ext[1]==type[i]){
 7                isTypeRight=true;
 8             }
 9         }
10         if(isTypeRight){
11             var boolSize = checkSize(str);
12             if(boolSize){
13               
14             }else{
15                alert("请注意!上传的图片太大,不能超过"+fileMaxSize+"KB");
16             }
17         }else{
18             isTypeRight = false;
19             alert("请注意!上传的类型不是"+type+"中的一种");
20         }
21     }
22    
23     function checkSize(fileName){
24         var img = new Image();
25         img.src=str;
26         var fso=new ActiveXObject("Scripting.FileSystemObject");
27         var fsize=fso.GetFile(fileName).Size;
28         alert(fsize);
29         if(img.readyState!="complete"){
30            isTypeRight=false;
31            return false;
32         }else{
33            if(fsize>fileMaxSize){
34                isTypeRight=false;
35                return false;
36            }else{
37                isTypeRight=false;
38                return true;
39            }
40         }
41     }
42 </script>
<script language=javascript>
/*
-----------------------------------------
       文件上传前台控制检测程序 v0.5

  检测上传文件类型

 检测图片文件格式是否正确
 检测图片文件大小
 检测图片文件宽度
 检测图片文件高度
 
  For 51js.com Author:333 Date:2005/08/26
              UpDate:2005/08/27
 ------------------------------------------
*/

var ImgObj
=new Image();            //建立一个图像对象
var AllImgExt=".jpg|.jpeg|.gif|"//全部图片格式类型
var FileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg//全局变量 图片相关属性

//以下为限制变量
var AllowExt=".jpg|.gif|.doc|.txt|.midi|.jpeg|.mid|"    //允许上传的文件类型 ?为无限制 每个扩展名后边要加一个"|" 小写字母表示
//var AllowExt=0
var AllowImgFileSize=0;        //允许上传图片文件的大小 0为无限制  单位:KB 
var AllowImgWidth="?";            //允许上传的图片的宽度 ?为无限制 单位:px(像素)
var AllowImgHeight="?";            //允许上传的图片的高度 ?为无限制 单位:px(像素)

function CheckProperty(obj)        
//检测图像属性
{
  FileObj
=obj;
  
if(ErrMsg!="")            //检测是否为正确的图像文件 返回出错信息并重置
  {
    FileObj.outerHTML
=FileObj.outerHTML;
    alert(ErrMsg);
    
return false;            //返回
  }

  
if(ImgObj.readyState!="complete")    //如果图像是未加载完成进行循环检测
  {
    setTimeout(
"CheckProperty(FileObj)",500);
    
return false;
  }

  ImgFileSize
=Math.round(ImgObj.fileSize/1024);//取得图片文件的大小
  ImgWidth=ImgObj.width            //取得图片的宽度
  ImgHeight=ImgObj.height;        //取得图片的高度

  
if(AllowImgWidth!=0&&AllowImgWidth<ImgWidth)
    ErrMsg
=ErrMsg+"\n图片宽度超过限制。请上传宽度小于"+AllowImgWidth+"px的文件,当前图片宽度为"+ImgWidth+"px";

  
if(AllowImgHeight!=0&&AllowImgHeight<ImgHeight)
    ErrMsg
=ErrMsg+"\n图片高度超过限制。请上传高度小于"+AllowImgHeight+"px的文件,当前图片高度为"+ImgHeight+"px";

  
if(AllowImgFileSize!=0&&AllowImgFileSize<ImgFileSize)
    ErrMsg
=ErrMsg+"\n图片文件大小超过限制。请上传小于"+AllowImgFileSize+"KB的文件,当前文件大小为"+ImgFileSize+"KB";

  
if(ErrMsg!="")            //返回出错信息并重置
  {
    FileObj.outerHTML
=FileObj.outerHTML;
    alert(ErrMsg);
  }
}

ImgObj.onerror
=function(){ErrMsg='\n图片格式不正确或者图片已损坏!'}

function CheckExt(obj)
{
  ErrMsg
=""
  FileExt
=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();
  
if(AllowExt!=0&&AllowExt.indexOf(FileExt+"|")==-1)    //判断文件类型是否允许上传
  {
    ErrMsg
="该文件类型不允许上传。请上传 "+AllowExt+" 类型的文件,当前文件类型为"+FileExt;
    obj.outerHTML
=obj.outerHTML;
    alert(ErrMsg);
    
return false;
  }
  
if(AllImgExt.indexOf(FileExt+"|")!=-1)        //如果图片文件,则进行图片信息处理
  {
    ImgObj.src
=obj.value;
    CheckProperty(obj);
    
return false;
  }
}

</script>

posted on 2011-06-10 16:05 生命的绽放 阅读(1846) 评论(0)  编辑  收藏 所属分类: js&&JQuery&&Ajax


只有注册用户登录后才能发表评论。


网站导航:
 
<2011年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

导航

统计

常用链接

留言簿(5)

随笔分类(94)

随笔档案(93)

文章分类(5)

文章档案(5)

相册

JAVA之桥

SQL之音

兄弟之窗

常用工具下载

积分与排名

最新评论

阅读排行榜