public void intercept(Invocation invocation) { Controller c = invocation.getController(); BaseController controller = (BaseController) invocation.getController(); HttpServletRequest request = c.getRequest(); String contentType = request.getContentType(); //获取Content-Type if ((contentType != null) && (contentType.toLowerCase().startsWith("multipart/"))) { try { logger.info("开始验证文件"); controller.getFiles(); } catch (Exception e) { logger.error("文件验证异常",e); Map<String, String> errorMap = new HashMap<>(); errorMap.put("msg", "操作失败,文件超出最大限制!"); Ret ret = Ret.fail("msg", errorMap); controller.renderJson(new JsonRender(ret).forIE()); logger.info("开始验证文件2"); return; } } logger.info("开始验证文件3"); invocation.invoke(); } controller.renderJson(new JsonRender(ret).forIE()); 这个前台怎么接收不到数据,用config 启动的方式可以,用tomcat 部署的方式就接收不到数据
因为jfinal 如果上传文件超出限制大小就会抛异常,导致后面程序无法执行,所以我加了一个拦截器 如果超出大小 抛异常了就直接返回json 前台接收显示信息
项目:JFinal