Spring MVC 文件上传

步骤一:

在spring的配置文件中applicationContext.xml中添加,上传使用的spring bean.

  <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
     <property name="maxUploadSize" value="104857600" />
     <property name="maxInMemorySize" value="4096" />
     <property name="defaultEncoding" value="UTF-8"></property>
  </bean>


 
 
 

步骤二:

前端代码:此处enctype="multipart/form-data" 这个地方记得一定要加!!!

 <form action="/auth/importUser"  id="form1" method="post"  name="form_input" enctype="multipart/form-data" >
      <div class="left" ><img src="images1/ico03.gif" width="82" height="82" /></div>
      <div class="right" >
        <div class="right01" >
          <div class="right0101" >客服号码文件:</div>
          <div class="right0102" >
            <input type="file" name="file_name" id="file_name"/>
         		
          </div>
          <div class="right02">
         		 <input  id="import_user"  type="button"   value=""    />
      	   </div>
      	     <div class=" font01 right02 " >
      	     <a href="/demo_data/demo_user.xls" target="_blank">示例文件下载</a>
      	     </div>
        </div>
       	</div>
      </form>


 
 
 
 

步骤三:

后台代码:

@RequestMapping(value="/importUser")
@SuppressWarnings("rawtypes") 
public String  springUpload(HttpServletRequest request) throws Exception
    {
        
      //将当前上下文初始化给  CommonsMutipartResolver (多部分解析器)
        CommonsMultipartResolver multipartResolver=new CommonsMultipartResolver(
                request.getSession().getServletContext());
        //检查form中是否有enctype="multipart/form-data"
        if(multipartResolver.isMultipart(request))
        {
            //将request变成多部分request
            MultipartHttpServletRequest multiRequest=(MultipartHttpServletRequest)request;
           //获取multiRequest 中所有的文件名
            Iterator iter=multiRequest.getFileNames();
             
            while(iter.hasNext())
            {
                //一次遍历所有文件
                MultipartFile file=multiRequest.getFile(iter.next().toString());
                if(file!=null)
                {
                    String path=file.getOriginalFilename();
                    //上传
                    file.transferTo(new File(path));
                }
                 
            }
           
        }
        
    return "/success";  
    }

这种上传文件的方式,简单明了,而且代码的易读性相对较高.




上面红色字体表示:文件将以二进制格式提交.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值