spring mvc 怎么大小上传文件控制?

小弟在弄一个这个框架的上传,非常简单的input=file的上传,想知道怎么能在点确认上传的时候控制文件大小,超过多少M就不能上传, 用的是ibatis+spring java web的.求大神解答.谢谢谢.

1、SpringMVC的配置文件里面可以配置限制上传文件的大小,比如40MB,但是,如果在页面上上传超过40MB ,则他都不进入到Action,则直接就报错了。被拦截了。

2、客户端判断的话,IE8、IE9、火狐好像支持都不一样,有说用Flash的,有说用HTML5的,
个人感觉HTML5不太靠谱,毕竟现在的应用肯定是要支持IE8、IE9的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-02-09
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="123456" />
</>

追问

但是用这个的话,超过value的话我的程序会跳错误页.是哪配置不对吗.

追答

Spring API 中org.springframework.web.multipart.commons.CommonsMultipartResolver的resolveMultipart方法说明

public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException

Throws:

MultipartException - if the servlet request is not multipart, or if implementation-specific problems are encountered (such as exceeding file size limits)

文件大小超出限制会抛出异常,应该是抛MaxUploadSizeExceededException

你可以在Controller中捕获一下,

@ExceptionHandler(MaxUploadSizeExceededException.class)

public String aaa(Model model) {

model.addAttribute("errorMsg", "上传的文件太大啦!");

return "maxUploadSizeExceeded";

}



本回答被提问者和网友采纳
相似回答