Spring CommonsMultipartResolver 上传文件

本文介绍如何使用Spring MVC框架实现文件上传功能,包括配置CommonsMultipartResolver进行多部分请求解析及编码设置,以及通过MultipartFile处理文件上传。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1.    
  2. ...Controller...{  
  3.      
  4. //创建一个通用的多部分解析器.  
  5.    CommonsMultipartResolver commonsMultipartResolver = new   
  6. CommonsMultipartResolver(request.getSession().getServletContext());  
  7. //设置编码  
  8.    commonsMultipartResolver.setDefaultEncoding(”utf-8″);  
  9.  //判断 request 是否有文件上传,即多部分请求...  
  10.  if (commonsMultipartResolver.isMultipart(request))  
  11.    {  
  12.       //转换成多部分request  
  13.       MultipartHttpServletRequest multipartRequest =         
  14.     commonsMultipartResolver.resolveMultipart(request);  
  15.   
  16.    // file 是指 文件上传标签的 name=值  
  17.     // 根据 name 获取上传的文件...  
  18.     MultipartFile file = multipartRequest.getFile("file");  
  19.    
  20.     //上传后记录的文件...     
  21.     File imageFile = new File("fileName");  
  22.     //上传...  
  23.     file.transferTo(imageFile);  
  24.   
  25.     }  
  26.   }  
  27. Form
  1. 也可以在Spring的配置文件中添加  
  2. Xml代码  
  3. <bean id=”multipartResolver” class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”>  
  4. <property name=”defaultEncoding” value=”UTF-8″ />  
  5. </bean>   
  6. 配置这个后就只需要编写以下代码即可
  7. MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
    MultipartFile mfile1 = multipartRequest.getFile("
    file");
  1. <form id=”fileUploadForm” method=”post” action=”XXX.do?method=fileUpload” enctype=”multipart/form-data”>  
  2. <tr>  
  3. <td>File:</td>  
  4. <td><input type=”file” name=”file”></td>  
  5. </tr>  
  6. <tr>  
  7. <td><input type=”hidden” name=”fileOwner” value=”1002″/></td>  
  8. <td><input type=”submit” value=”submit”></td>  
  9. </tr>  
  10. </form>  

转载于:https://www.cnblogs.com/live365wang/archive/2011/03/24/1993694.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值