在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

SpringMVC文件上传的配置实例详解

2016-7-29 15:34| 发布者: zhangjf| 查看: 717| 评论: 0

摘要: 记述一下步骤以备查。 准备工作: 需要把Jakarta Commons FileUpload及Jakarta Commons io的包放lib里。 我这边的包是: commons-fileupload-1.1.1.jar commons-io-1.3.2.jar 然后在spring-servlet.xml进行mult ...

记述一下步骤以备查。

准备工作:

需要把Jakarta Commons FileUpload及Jakarta Commons io的包放lib里。

我这边的包是:

commons-fileupload-1.1.1.jar
commons-io-1.3.2.jar

然后在spring-servlet.xml进行multipartResolver配置,不配置好上传会不好用。

  1. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  2. <property name="maxUploadSize"><value>100000</value></property>
  3. <property name="defaultEncoding"><value>UTF-8</value></property>
  4. </bean>
复制代码

接下来就是页面了:

注意Form的写法和文件上传组件的写法。

  1. <form action="uploadPosdetailFile.html" method="post" ENCTYPE="multipart/form-data">
  2. <div class="form" >
  3. <p>
  4. <span class="req"><input id="startDateTxt" name="startDateTxt" class="field size4" title="Enter the date" /></span>
  5. <label>Start Date: <span>(Date format:MM/dd/yyyy,eg:01/01/2014)</span></label>
  6. </p>
  7. <p>
  8. <span class="req"><input id="endDateTxt" name="endDateTxt" class="field size4" title="Enter the date" /></span>
  9. <label>End Date: <span>(Date format:MM/dd/yyyy,eg:12/25/2014)</span></label>
  10. </p>
  11. <p>
  12. <span class="req"><input type="file" name="uploadFileCtrl" class="field size4" title="Choose the file" /></span>
  13. <label>Upload file: <span>(click browse to choose)</span></label>
  14. </p>
  15. </div>
  16. <div class="buttons">
  17. <input id="queryBtn" type="Submit" class="button" value="Submit" />
  18. </div>
  19. </form>
复制代码

再在控制器里写处理代码,注意参数和页面控件的对应关系:

  1. @RequestMapping(value="/uploadPosdetailFile")
  2. public String uploadPosdetailFile(@RequestParam("startDateTxt") String startDateTxt,
  3. @RequestParam("endDateTxt") String endDateTxt,
  4. @RequestParam("uploadFileCtrl") MultipartFile file,HttpServletRequest request,HttpServletResponse response){
  5. try {
  6. System.out.println("@@@@@@@@@1.startDateTxt="+startDateTxt);
  7. System.out.println("@@@@@@@@@2.endDateTxt="+endDateTxt);
  8. System.out.println("@@@@@@@@@3.file="+file.getOriginalFilename());// 得到上传文件的文件名
  9. if(file.isEmpty()==false){
  10. InputStream is=file.getInputStream();
  11. InputStreamReader isr = new InputStreamReader(is);
  12. BufferedReader br=new BufferedReader(isr);
  13. String s;
  14. while((s=br.readLine())!=null ){
  15. System.out.println(s);
  16. }
  17. br.close();
  18. isr.close();
  19. is.close();
  20. }
  21. return "/pages/posdetail/uploadposdetailresult/index.jsp";
  22. } catch (Exception e) {
  23. e.printStackTrace();
  24. logger.error(e);
  25. request.setAttribute("error", e.getClass());
  26. request.setAttribute("reason", e.getMessage());
  27. StackTraceElement[] arr=e.getStackTrace();
  28. request.setAttribute("stackTraceElements", arr);
  29. return "pages/error/index.jsp";
  30. }
  31. }
复制代码

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-5-4 02:14

Copyright 2015-2025 djqfx

返回顶部