Spring mvc 文件上传代码

今天用spring mvc 做了文件上传,和excel 文件解析,这里先记录一下文件上传的代码,

1、首先是控制器里面的写法:

@RequestMapping(value="/readExcel.do")
	@ResponseBody
	public ModelAndView readExcel(HttpServletRequest request,HttpServletResponse response) 
			throws Exception{
			ModelAndView mv = new ModelAndView();
		
		try {
			System.out.println("解析excel 方法开始。。。。。");  
			//根目录
			String temp = request.getSession().getServletContext().getRealPath("/");
			//文件上传的路径
			 String path = "";
			//创建一个通用的多部分解析器  
	        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());  
	        //判断 request 是否有文件上传,即多部分请求  
	        if(multipartResolver.isMultipart(request)){  
	            //转换成多部分request    
	            MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;  
	            //取得request中的所有文件名  
	            Iterator<String> iter = multiRequest.getFileNames();  
	            while(iter.hasNext()){  
	                //记录上传过程起始时的时间,用来计算上传时间  
	                int pre = (int) System.currentTimeMillis();  
	                //取得上传文件  
	                MultipartFile file = multiRequest.getFile(iter.next());  
	                if(null  != file  && 0 != file.getSize()){  
	                    //取得当前上传文件的文件名称  
	                    String myFileName = file.getOriginalFilename();  
	                    //如果名称不为“”,说明该文件存在,否则说明该文件不存在  
	                    if(myFileName.trim() !=""){  
	                        System.out.println(myFileName);  
	                        //重命名上传后的文件名  
	                        String fileName = System.currentTimeMillis() + file.getOriginalFilename();  
	                        //定义上传路径  
	                        
	                        path = temp + fileName;  
	                        File localFile = new File(path);  
	                        file.transferTo(localFile);  
	                    }  
	                }  
	                //记录上传该文件后的时间  
	                int finaltime = (int) System.currentTimeMillis();  
	                System.out.println(finaltime - pre);  
	            }  
	              
	        }  
	        
	       
			
		} catch (Exception e) {
			System.out.println("解析excel 方法错误。。。。。");  
			e.printStackTrace();
		}  
		
		System.out.println("解析excel 方法结束。。。。。"); 
        
        return mv;
	}
2、然后我们需要在spring-mvc.xml (每个项目中spring 的核心配置文件不一样,大家根据自己的项目来进行修改)文件中增加以下配置

<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<!-- 默认编码 -->
		<property name="defaultEncoding" value="utf-8" />
		<!-- 文件大小最大值 -->
		<property name="maxUploadSize" value="10485760000" />
		<!-- 内存中的最大值 -->
		<property name="maxInMemorySize" value="40960" />
	</bean>
3、在修改完后,然后在我们的页面上面调用这个方法就行了,下面做一个实例:

<form id="mysign" class="mysign" enctype="multipart/form-data" method="post"  action="readExcel.do" >
		
		               <ul>
		                   <li class="hra">附件</li>
		                   <li><input type="file" name="file" /></li>
		                   <div class="clear"></div>
		               </ul>
		               
		               
		               <div class="but_h2" style="padding-top:10px"><input type="submit" value="提交" /></div>
		      
</form>


以上配置添加完成后,即可进行文件上传。本人只是做一个记录,欢迎大家提自己的意见!!






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值