SpringMVC文件上传拦截器,大小验证,类型验证
来源:互联网 发布:nike手机抢购软件 编辑:程序博客网 时间:2024/06/07 04:11
//文件类型判断public class FileTypeInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler)throws Exception { // 判断是否为文件上传请求 if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String, MultipartFile> files = multipartRequest.getFileMap(); Iterator<String> iterator = files.keySet().iterator(); //对多部件请求资源进行遍历 while (iterator.hasNext()) { String formKey = (String) iterator.next(); MultipartFile multipartFile = multipartRequest.getFile(formKey); String filename=multipartFile.getOriginalFilename(); //判断是否为限制文件类型 if (checkFile(filename)) { return true; } } } request.getRequestDispatcher("typeErro.do").forward(request, response); return false; } /** * 判断是否为允许的上传文件类型,true表示允许 */ private boolean checkFile(String fileName) { //设置允许上传文件类型 String suffixList = "jpg,png,ico,bmp,jpeg"; // 获取文件后缀 String suffix = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length()); if (suffixList.contains(suffix.trim().toLowerCase())) { return true; } return false; }}
//文件大小public class FileUploadInterceptor extends HandlerInterceptorAdapter { private long maxSize; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //判断是否文件上传 if(request!=null && ServletFileUpload.isMultipartContent(request)) { ServletRequestContext ctx = new ServletRequestContext(request); //获取上传文件尺寸大小 long requestSize = ctx.contentLength(); if (requestSize > maxSize) { //当上传文件大小超过指定大小限制后,模拟抛出MaxUploadSizeExceededException异常 throw new MaxUploadSizeExceededException(maxSize); } } return true; } public void setMaxSize(long maxSize) { this.maxSize = maxSize; }}
springMVC拦截器配置
<!--拦截器 --> <mvc:interceptors> <!-- 文件上传大小拦截 --> <mvc:interceptor> <mvc:mapping path="/studentIden/studentInfo.do" /> <bean class="com.minihourse.interceptor.FileUploadInterceptor"> <property name="maxSize" value="10485760"/> </bean> </mvc:interceptor> <!-- 文件类型拦截 --> <mvc:interceptor> <mvc:mapping path="/studentIden/studentInfo.do" /> <bean class="com.minihourse.interceptor.FileTypeInterceptor" /> </mvc:interceptor> </mvc:interceptors>
阅读全文
0 0
- SpringMVC文件上传拦截器,大小验证,类型验证
- springmvc拦截器验证
- 验证上传文件的类型
- 图片上传大小,类型,宽高验证
- 表单js验证文件上传大小
- SpringMVC HandlerInterceptorAdapter登陆验证拦截器
- 简单的springmvc登录验证拦截器
- springMVC拦截器进行登录验证
- SpringMVC拦截器实现登录验证
- 验证上传文件格式、大小
- Javascript 验证上传文件的类型
- js 如何验证上传文件的类型?
- webuploader上传文件,含文件大小、类型验证
- 正则表达式,验证文件上传类型
- Jsp页面验证上传文件的类型
- SpringMVC拦截器实现登陆时的验证拦截
- springmvc文件上传和拦截器
- SpringMvc文件上传、下载和拦截器
- 很多人想知道的:测试LDPC的方法
- 游戏设计的基准原则--个人理解
- thinkphp的目录结构设计经验总结
- 使用双重for循环打印100-200之间的质数
- Java 异常处理机制
- SpringMVC文件上传拦截器,大小验证,类型验证
- lambda函数,匿名函数
- ISO C90 forbids mixed declarations and code
- Java开发天气预报系统
- iOS 网络实时监控
- ZOJ 3147 Dezider's Coverup【最小圆覆盖】【模板题】
- SpringMVC之框架概述
- Go语言入门教程(二)运行单个文件
- c++全套视频分享