前言:
如今朋友们对“netmvc上传多个”大体比较看重,姐妹们都想要了解一些“netmvc上传多个”的相关文章。那么小编在网络上汇集了一些关于“netmvc上传多个””的相关资讯,希望看官们能喜欢,咱们快快来了解一下吧!1、2、4步骤同上传单个文件一样,有需要的可以看一下我上篇文章小白:Spring MVC轻松实现上传文件功能,看了一定不后悔哟。
3、在项目views文件夹(项目中装页面的文件夹)下新建一个上传多个文件的页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>上传多个文件示例</title>
<link rel="stylesheet" href="<%=request.getContextPath()%>/resources/css/main.css" type="text/css" />
</head>
<body>
<div align="center">
<h1>上传多个附件</h1>
<form method="post" action="/HelloSpringMVC/hello/doMultiUpload" enctype="multipart/form-data">
<input type="file" name="file1"/>
<br/>
<input type="file" name="file2"/>
<button type="submit" >提交</button>
</form>
</div>
</body>
</html>
注意以下几点:
(1)form表单提交的类型一定要加上enctype="multipart/form-data",表示不对所提交的内容编码。
(2)action="" 路径中前面要加项目名,这里项目名是HelloSpringMVC。
(3)doMultiUpload是本表单所提交的对应的处理方法。名为doMultiUpload。
(4)要传几个文件就加入几个 <input type="file" name="file2"/> 不过name的值要不同
5、在Controller类中加入访问入口方法(就是定位到上传多个文件的页面)
//定位到上传多个文件界面 /hello/uploadMulti
@RequestMapping(value="/uploadMulti", method=RequestMethod.GET)
public String showUploadPage2(){
return "uploadMultifile"; //view文件夹下的上传多个文件的页面
}
6、在Controller类中定义上传文件的响应方法(就是表单中的所提交的action中的方法名)
/**
* 上传多个附件的操作类
* @param multiRequest
* @return
* @throws IOException
*/
@RequestMapping(value="/doMultiUpload", method=RequestMethod.POST)
public String doUploadFile2(MultipartHttpServletRequest multiRequest) throws IOException{
Iterator<String> filesNames = multiRequest.getFileNames(); //获得所有的文件名
while(filesNames.hasNext()){ //迭代,对单个文件进行操作
String fileName =filesNames.next();
MultipartFile file = multiRequest.getFile(fileName);
if(!file.isEmpty()){
log.debug("Process file: {}", file.getOriginalFilename());
FileUtils.copyInputStreamToFile(file.getInputStream(), new File("d:\\temp\\imooc\\",
System.currentTimeMillis()+ file.getOriginalFilename()));
}
}
return "success";
}
这里需要注意:
1、这里与上传单个文件处理方法不同的是接收参数由MultipartFile类型变为了MultipartHttpServletRequest。
2、MultipartFile由MultipartHttpServletRequest对象的getFile(fileName)方法获得。
7、运行验证
至此,利用Spring MVC实现文件上传的功能全部结束了了。
标签: #netmvc上传多个