我们来看看 SpringMVC中多文件上传是怎么做的:
下面是jsp代码 我们创建了 两个file标签
<!-- jsp代码片段 主要是两个文本框一个按钮 -->
<form id="formID"action="login.spring" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="name" class="itm" id="username" ><br><br>
密码:<input type="text" id="userpassword" class="itm" name="age" ><br><br>
<!-- 文件上传 -->
文件上传: <input type="file" name="file1"><br><br>
<!-- 文件上传 -->
文件上传: <input type="file" name="file2"><br><br>
<input type="submit" value="增加">
</form>
我们使用了 Spirng的注解下面开我们的后台代码
@Controller
public class UserController {
@Resource(name="Usermapp")
private UserMapper service;
@RequestMapping("/login")
public String get( HttpServletRequest request){
//转换为MultipartHttpServletRequest
MultipartHttpServletRequest multRequest = (MultipartHttpServletRequest)request;
//获取多个文件
Map<String,MultipartFile> filesMap = multRequest.getFileMap();
//获取文件存储的路径
String uploadPath = request.getSession().getServletContext().getRealPath("/")+"upload/";
//判断村存储文件是否存在
File dir = new File(uploadPath);
//判断文件是否存在
if(!dir.exists()){
dir.mkdirs();
}
//循环我们上传的多个文件
for(MultipartFile file : filesMap.values()){
//创建存储的路径
File fileUpload = new File(uploadPath+file.getOriginalFilename());
//判断文件路径是否存在
if(!fileUpload.exists()){
try {
fileUpload.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//对文件进行存储
try {
file.transferTo(fileUpload);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return "/MyJsp";
}
我们来看看上传是否成功
上传成功!!