SpringMVC 为文件上传提供直接支持,通过 MultipartResolver 实现
配置 MultipartResolver,在 spring-mvc.xml 文件中
<!-- 文件上传 -->
<
bean
id
="multipartResolver"
class
="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p
:defaultEncoding
="UTF-8"
p
:maxUploadSize
="
104857600
"
p
:maxInMemorySize
="4096"
p
:uploadTempDir
="upload/temp"
/>
在 Controller 中
RequestMapping(value =
"/uploadPage"
)
public
String updatePage() {
return
"uploadPage"
;
}
@RequestMapping(value =
"/upload"
)
public
String updateThumb(@RequestParam(
"name"
) String name, @RequestParam(
"file"
) MultipartFile file)
throws
Exception {
if
(!file.isEmpty()) {
file.transferTo(
new
File(
"d:/temp/"
+ file.getOriginalFilename()));// 将上传文件保存到一个目标文件中
return
"redirect:success.html"
;
}
else
{
return
"redirect:fail.html"
;
}
}
在 uploadPage.jsp 中
<%@
page
language
="
java
"
contentType
="
text/html; charset=UTF-8
"
pageEncoding
="
UTF-8
"%>
<
html
>
<
head
>
<
title
>
请上传用户头像
</
title
>
</
head
>
<
body
>
<
h1
>
请选择上传的头像文件
</
h1
>
<
form
method=
"post"
action=
"
<
c
:url
value
="/user/upload.html"
/>
"
enctype=
"multipart/form-data"
>
<
input
type=
"text"
name=
"name"
/>
<
input
type=
"file"
name=
"file"
/>
<
input
type=
"submit"
/>
</
form
>
</
body
>
</
html
>
MultipartFile 常用方法