在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")註解
配置web.xml
web.xml中配置項目路徑:
配置靜態資源訪問
servlet-mvc.xml中配置靜態資源訪問:
如果使用註解配置方式,則是servletConfig實現WebMvcConfigurerAdapter,實現其configureDefaultServletHandling方法。
保存上傳的文件
最後,我們在controller中就可以保存上傳的文件了: