首页 > 代码库 > SpringMVC中文件上传的客户端验证

SpringMVC中文件上传的客户端验证

                                                                        SpringMVC中文件上传的客户端验证

 

 

客户端验证主要思想:在jsp页面中利用javascript进行对文件的判断,完成验证后允许上传

 

验证步骤:1.文件名称

2.获取文件的后缀名称

3.判断哪些文件类型允许上传

4.判断文件大小

5.满足条件后跳转后台实现上传

 

 

前台界面(验证上传文件是否格式满足要求):

<body>

<h2>文件上传</h2>

<form action="upload01" method="post" enctype="multipart/form-data" onsubmit="return toSub();">

上传者姓名:<input type="text" name="user_name"><br>

文件:<input  type="file" name="myfile" id="myfile">

<button>上传</button>

</form>

<script type="text/javascript">

function toSub(){//首先浏览器支持html5

var myfile=document.getElementById("myfile").files[0];

  if(myfile){

  //1.文件名称2.获取文件的后缀名称3.判断哪些文件类型允许上传4.判断文件大小

var fileName=myfile.name;

  //2.获取文件的后缀名称

var ext=fileName.substring(fileName.lastIndexOf(".")+1);

//3.判断哪些文件类型允许上传

 var allowFiles=["jpg","png","docx","doc"];

var flag=false;

for(var i=0;i<allowFiles.length;i++){

if(ext.toLowerCase()==allowFiles[i]){

flag=true;

break;

}

}

if(!flag){

alert("上传文件格式不正确,允许格式为:"+allowFiles.join(" | "));

return false;

}

//4.判断文件大小

var maxFileUploadSize=1024*1024*20;

if(myfile.size>maxFileUploadSize){

alert("您上传文件大小为:"+myfile.size+",大于规定大小:"+maxFileUploadSize);

return false;

}

return true;

  }else{

  alert("选择上传文件");

  return false;

  }

 

}

</script>

</body>

后台上传:

String path=request.getServletContext().getRealPath("/attr/");

//建立将要存储在当前服务环境下的文件

File folder=new File(path);

if(!folder.exists()){

//判断此文件夹是否存在

folder.mkdirs();

//不存在则创建文件夹(可以建立多层的mkdirs()方法)

}

//判断上传文件的姓名

String filename=myfile.getOriginalFilename();

//.获取上传文件的后缀名,例如jpg,docx

String ext=FilenameUtils.getExtension(filename);

//新建新的上传文件的文件名

String newFile=new Date().getTime()+"_"+new Random().nextInt(10000)+"."+ext;

//(上面是时间戳方式)

//(另一种方式完成)String newFile=UUID.randomUUID().toString()+"."+ext

//完成上传

myfile.transferTo(new File(path+File.separator+newFile));

return "jsp/result";

-

 

 

 

 

 

 

                                                                                                                                                                                        -------------------------------end

技术分享

 

SpringMVC中文件上传的客户端验证