在Spring MVC開發場景中,經常會遇到需要上傳並保存文件的功能,今天跟著小編來一起學習一下。
MultipartResolver
Spring MVC想要處理文件,就必須使用MultipartResolver。
配置MultipartResolver:
首先,我們需要在網頁的form表單中添加enctype="multipart/form-data"參數。
然後,在Spring MVC的配置文件中(spring-mvc.xml)配置MultipartResolver(CommonsMultipartResolver[需要commons-io.jar和commons-fileupload.jar]或者StandardServletMultipartResolver[Spring3.1以後])。如下圖:
最後,在DispatcherServlet的Servlet配置中加上multipart-config配置(只針對StandardServletMultipartResolver[Spring3.1&Servlet3.0必須在註冊Servlet時配置multipart-config]),如:
MultipartFile參數
接下來,我們要在Controller方法參數中增加MultipartFile參數,在該參數上加上@RequestPart("paramname")註解,就可以使用了。在Servlet3.0之後,還可以使用Part參數代替MultipartFile參數,同時,並不需要配置MultipartResolver了,只有使用MultipartFile的時候才需要MultipartResolver。
配置web.xml
web.xml中配置項目路徑:
配置靜態資源訪問
servlet-mvc.xml中配置靜態資源訪問:
如果使用註解配置方式,則是servletConfig實現WebMvcConfigurerAdapter,實現其configureDefaultServletHandling方法。
保存上傳的文件
最後,我們在controller中就可以保存上傳的文件了:
一本書搞定Spring MVC使用!
閱讀更多 程序猿架構 的文章
關鍵字: overflow position MultipartResolver