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