SpringMVC文件上传接口设计与实现
#1 前两篇文章的铺垫 #1.1 SpringMVC文件上传源码分析前言 #1.2 apache fileupload源码分析 #2 整体的包结构 首先看下整体的包的结构,如下图 总共分成3大块,分别如下 ##2.1 org.springframework.web.multipart 存放Spring定义的文件上传接口以及异常,如 MultipartException对用户抛出的解析异常(隐藏底层文件上传解析包所抛出的异常) 也就指明了,这个体系下只能抛出这种类型的异常,MaxUploadSizeExceededException是MultipartException它的子类,专门用于指定文件大小限制的异常。 用户不应该看到底层文件上传解析包所抛出的异常,底层采用的文件上传解析包在解析文件上传时也会定义自己的解析异常,这时候就需要在整合这些jar包时,需要对解析包所抛出的异常进行转换成上述已统一定义的面向用户的异常 源码见证下: protected MultipartParsingResult parseRequest(HttpServletRequest request) throws MultipartException { String encoding = determineEncoding(request); FileUpload fileUpload =