编写控制器接收上传请求
// MultipartFile参数名必须和JSP文件空间的name属性一致
@RequestMapping("/fileUpload2")
public String upload2(MultipartFile file,HttpServletRequest request) throws IOException {
// 创建文件夹,存放上传文件
String realPath = request.getSession().getServletContext().getRealPath("/upload");
File dir = new File(realPath);
if(!dir.exists()){
dir.mkdirs();
}
// 将上传的数据写到文件夹的文件中
// 1.拿到上传的文件名
String filename = file.getOriginalFilename();
filename = UUID.randomUUID()+"_"+filename;
// 2.创建空文件
File newFile = new File(dir,filename);
// 3.将数据写入空文件中
file.transferTo(newFile);
return "index";
}
在SpringMVC核心配置文件配置文件解析器
<!-- 文件解析器对象,id名称必须是multipartResolver -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 支持一次上传文件的总容量。单位:字节 100M = 100*1024*1024-->
<property name="maxUploadSize" value="104857600"/>
<!-- 文件名的编码方式-->
<property name="defaultEncoding" value="utf-8"/>
</bean>
创建jsp表单
<form action="/fileUpload2" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" value="上传"/>
</form>