利用js的对象特性做文件上传验证(图片版)
stargaga
2011-06-11
有码有真相:先上代码 imgValOptions.js // JavaScript Document //文件验证的配置文件,暂时做了图片的上传验证,支持gif/png/jpg/bmp等文件的上传,可更改类型和配置项 var imgValOptions = { gif : 1, png : 1, jpg : 1, bmp : 1, rar : 0, zip : 0, swf : 0 }; 上示代码为文件上传的配置文件,可根据自己的需求添加,1默认为true,0默认为false。 控制类的代码如下:imgVal.js // JavaScript Document //提供图片验证的数组 var imgValidateCons = {}; /* imgValidateCons.store存储上传验证的配置值 init() *检测imgValOptions是否存在,如果存在则将其中所有的配置项以及值写在imgValidateCons.store中 imgValidateCons.store.add(cons, b) *cons:配置项 *b:配置值 *将配置项和值存储在imgValidateCons.store对象中 imgValidateCons.store.check(cons) *cons:配置项 *验证配置项是否存在或者是否值为1 */ imgValidateCons.store = { init : function(){ if(imgValOptions) { for(var con in imgValOptions) { imgValidateCons.store[con] = imgValOptions[con]; } } }, add : function(cons, b){imgValidateCons.store[cons] = b; return 1;}, check : function(cons){ var store = imgValidateCons.store; if(store[cons]) return 1; else return 0; } } 最后给出一个例子,其中的store.check(cons)可以被store[cons]替代,这是访问对象属性的一种方法。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>图片上传验证</title> </head> <body> <form action="www.baidu.com" method="post" id="form"> <input type="file" id="file" name="file" /> <input type="button" onclick="submitBefore()"/> </form> </body> <script type="text/javascript" src="imgValOptions.js"></script> <script type="text/javascript" src="imgVal.js"></script> <script type="text/javascript"> var store = ""; var d = document; window.onload = function(){ imgValidateCons.store.init(); store = imgValidateCons.store; }; var submitBefore = function(){ var file = d.getElementById("file"); fileVal = file.value; fileSuffix = fileVal.substr(fileVal.lastIndexOf(".") + 1, fileVal.length); if(store.check(fileSuffix)) d.getElementById("form").submit(); //if(store.check[fileSuffix]) d.getElementById("form").submit(); return false; }; </script> </html>
|
|
b_l_east
2011-07-15
先解释下你的“文件上传验证”是干什么。
|
|
stargaga
2011-07-26
b_l_east 写道 先解释下你的“文件上传验证”是干什么。
做图片上传的类型验证。 筛选出不可上传的文件。 |