SpringMVC文件的上传
直接来步骤和代码:
1、首先需要导入jar包

2、前端代码
加颜色的代码需要注意
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="upload" method="post" enctype="multipart/form-data">
姓名:<input type="text" name="name"/><br>
年龄:<input type="text" name="age"/><br>
请选择上传文件:<input type="file" name="multipartFile"/>
<input type="submit" value="上传">
</form>
</body>
</html>
3、在springmvc中配置文件上传解析器
<!-- 配置文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--设置文件上传的大小 字节 -->
<property name="maxUploadSize" value="20971520"></property>
</bean>
4、控制层处理代码
@Controller
public class TestController {
@RequestMapping("upload")
//HttpServletRequest:作用是为了获取上传文件的路径
public String uploadFiles(MultipartFile multipartFile,HttpServletRequest request,Student stu,Model model) {
//获取文件上传真实保存路径
String path = request.getServletContext().getRealPath("/upload");
System.out.println(path);
//创建一个对象
File file = new File(path);
if(!file.exists()) {//该路径不存在
file.mkdirs();
}
//获取文件名
String filename =System.currentTimeMillis()+ multipartFile.getOriginalFilename();
System.out.println(filename);
File targetfile = new File(path+"/"+filename);
try {
//把文件写到指定的目录下
FileUtils.writeByteArrayToFile(targetfile, multipartFile.getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
stu.setImgname(filename);
model.addAttribute("stu", stu);
return "info";
}
}