SpringMVC 中使用 commons-fileupload
上传文件,需要在 SpringMVC 的配置文件里先配置 multipartResolver
,然后就可以使用 MultipartFile
读取 HTTP 请求中的文件流并保存到本地了。
Gradle 依赖
1 | "commons-fileupload:commons-fileupload:1.3.1" |
配置 multipartResolver
需要在 SpringMVC 的配置文件中配置 multipartResolver
用于上传文件。
1 | <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/> |
上传单个文件
1 | package com.xtuer.controller; |
upload-file.html
1 |
|
测试上传单个文件
- 访问 http://localhost:8080/upload-file
- 选择文件,点击
上传
按钮 - 在 WEB-INF 所在目录中查看文件是否已经上传好了
上传多个文件
上传多个文件和上传单个文件没多大区别,不通的只是映射函数中的参数不是 MultipartFile,而是 MultipartFile 的数组
。
1 | /** |
upload-files.html
表单中也只是多了几个 <input type="file" name="file"/>
,名字都是 file
,这样表单提交时多个同名的参数就表示数组。
1 |
|
测试上传多个文件
- 访问 http://localhost:8080/upload-files
- 选择多个文件,点击
上传
按钮 - 在 WEB-INF 所在目录中查看文件是否已经上传好了