maven导入jar包
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
在applicationContext.xml中配置
<bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver">
<property name="maxUploadSize" value="10485760"/>
</bean>
其中id必须为multipartResolver
编写controller代码
@Controller
public class UploadController {
@RequestMapping("/upload")
public String uploadFile(HttpServletRequest request,MultipartFile upload) throws IOException {
//设置文件保存目录
String path = request.getSession().getServletContext().getRealPath("/uploads/");
File file = new File(path);
if (!file.exists()) {
file.mkdirs();//目录如果不存在就创建
}
//获取前端传入的文件名以及后缀名,如果只想获取文件名可以使用getName()
String fileName = upload.getOriginalFilename();
//使用UUID防止文件名重复
String uuid = UUID.randomUUID().toString().replace("-", "");
fileName=uuid+fileName;
//文件写入
upload.transferTo(new File(path,fileName));
return "success";
}
}
前端页面
<form action="upload" enctype="multipart/form-data" method="post">
<input type="file" name="upload"><br>
<input type="submit" value="上传">
</form>