文件上传前台控制检测程序 v0.5
检测上传文件类型
检测图片文件格式是否正确
检测图片文件大小
检测图片文件宽度
检测图片文件高度
For 51js.com Author:333 Date:2005/08/26
UpDate:2005/08/27
------------------------------------------*/var ImgObj=newImage();//建立一个图像对象var AllImgExt=".jpg|.jpeg|.gif|"//全部图片格式类型var FileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg//全局变量 图片相关属性//以下为限制变量var AllowExt=".jpg|.gif|.doc|.txt|.midi|.jpeg|.mid|"//允许上传的文件类型 ?为无限制 每个扩展名后边要加一个"|" 小写字母表示//var AllowExt=0var AllowImgFileSize=0;//允许上传图片文件的大小 0为无限制 单位:KBvar AllowImgWidth="?";//允许上传的图片的宽度 ?为无限制 单位:px(像素)var AllowImgHeight="?";//允许上传的图片的高度 ?为无限制 单位:px(像素)function CheckProperty(obj)//检测图像属性{
FileObj=obj;if(ErrMsg!="")//检测是否为正确的图像文件 返回出错信息并重置{
FileObj.outerHTML=FileObj.outerHTML;
alert(ErrMsg);returnfalse;//返回}if(ImgObj.readyState!="complete")//如果图像是未加载完成进行循环检测{
setTimeout("CheckProperty(FileObj)",500);returnfalse;
}
ImgFileSize=Math.round(ImgObj.fileSize/1024);//取得图片文件的大小ImgWidth=ImgObj.width//取得图片的宽度ImgHeight=ImgObj.height;//取得图片的高度if(AllowImgWidth!=0&&AllowImgWidth
ErrMsg=ErrMsg+"\n图片宽度超过限制。请上传宽度小于"+AllowImgWidth+"px的文件,当前图片宽度为"+ImgWidth+"px";if(AllowImgHeight!=0&&AllowImgHeight
ErrMsg=ErrMsg+"\n图片高度超过限制。请上传高度小于"+AllowImgHeight+"px的文件,当前图片高度为"+ImgHeight+"px";if(AllowImgFileSize!=0&&AllowImgFileSize
ErrMsg=ErrMsg+"\n图片文件大小超过限制。请上传小于"+AllowImgFileSize+"KB的文件,当前文件大小为"+ImgFileSize+"KB";if(ErrMsg!="")//返回出错信息并重置{
FileObj.outerHTML=FileObj.outerHTML;
alert(ErrMsg);
}
}
ImgObj.οnerrοr=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);returnfalse;
}if(AllImgExt.indexOf(FileExt+"|")!=-1)//如果图片文件,则进行图片信息处理{
ImgObj.src=obj.value;
CheckProperty(obj);returnfalse;
}
}