文件上传大小限制后的一个问题

烫烫烫烫烫130 发布于 2016/04/16 21:22
阅读 808
收藏 1

@JFinal 你好,想跟你请教个问题:

    java.lang.RuntimeException: java.io.IOException: Posted content length of 18153208 exceeds limit of 10485760

    设置文件上传大小限制后,我上传突破限制大小的文件,c.getFile();会抛出异常,并且返回页面——错误码 101 (net::ERR_CONNECTION_RESET)

    我尝试catch异常,但是还是会返回错误码 101 (net::ERR_CONNECTION_RESET)

    请问我该怎么做,才能让页面正常返回呢?(我先做个validator,如果大小限制异常,我就返回文件大小不正常的信息)

加载中
0
JFinal
JFinal

    在 validator 中调用 getFile(),并且在 getFile() 之上添加 try catch,出现异常以后 addError("errorMsg", "文件上传超出范围"),大致这样的代码:

public class MyValidator extends Validator( {
 public void validate(Controller c) {
  try {
    UploadFile uf = getFile();
    if (uf.getFile().getLenght() > xxxx) {
      addError("msg", "文件大小超出范围xxxx");
    }
  } catch (Exception e) {
    addError("msg", "xxxxx");
  }
 }
 
 public void handleError(Controller c) {
  c.keepPara();
  render(....);
  // 如果是 ajax 文件上传,通常 renderJson(...) 即可
 }
}

0
Feng_Yu
Feng_Yu
话说你不应该在前段做个判定吗?让用户上传半天最后告诉用户超出大小,这是一种非常糟糕的体验
返回顶部
顶部