01.07 SpringMVC怎麼實現文件上傳的功能?

在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以後])。如下圖:


SpringMVC怎麼實現文件上傳的功能?


最後,在DispatcherServlet的Servlet配置中加上multipart-config配置(只針對StandardServletMultipartResolver[Spring3.1&Servlet3.0必須在註冊Servlet時配置multipart-config]),如:


SpringMVC怎麼實現文件上傳的功能?

MultipartFile參數

接下來,我們要在Controller方法參數中增加MultipartFile參數,在該參數上加上@RequestPart("paramname")註解,就可以使用了。在Servlet3.0之後,還可以使用Part參數代替MultipartFile參數,同時,並不需要配置MultipartResolver了,只有使用MultipartFile的時候才需要MultipartResolver。

配置web.xml

web.xml中配置項目路徑:

SpringMVC怎麼實現文件上傳的功能?

配置靜態資源訪問

servlet-mvc.xml中配置靜態資源訪問:

SpringMVC怎麼實現文件上傳的功能?

如果使用註解配置方式,則是servletConfig實現WebMvcConfigurerAdapter,實現其configureDefaultServletHandling方法。

保存上傳的文件

最後,我們在controller中就可以保存上傳的文件了:

SpringMVC怎麼實現文件上傳的功能?


一本書搞定Spring MVC使用!


分享到:


相關文章: