SpringMVC上传(通过物理路径)

内容来源:http://blog.csdn.net/kouwoo/article/details/40507565

 

一、配置文件:
SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file

  applicationContext.xml中

  1. <!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver -->  
  2.     <beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"  
  3.         p:defaultEncoding="UTF-8"  
  4.         p:maxUploadSize="5400000"  
  5.         p:uploadTempDir="fileUpload/temp"  
  6.      >  
  7.     </beans:bean>  
  8. 其中属性详解:
    defaultEncoding="UTF-8" 是请求的编码格式,默认为iso-8859-1
    maxUploadSize="5400000" 是上传文件的大小,单位为字节
    uploadTempDir="fileUpload/temp" 为上传文件的临时路径
    1. <body>  
    2. <h2>文件上传实例</h2>  
    3.   
    4.   
    5. <form action="fileUpload.html" method="post" enctype="multipart/form-data">  
    6.     选择文件:<input type="file" name="file">  
    7.     <input type="submit" value="提交">   
    8. </form>  
    9.   
    10.   
    11. </body>  
      1. /通过Spring的autowired注解获取spring默认配置的request  
      2.     @Autowired  
      3.     private HttpServletRequest request;  
      4.   
      5.     /*** 
      6.      * 上传文件 用@RequestParam注解来指定表单上的file为MultipartFile 
      7.      *  
      8.      * @param file 
      9.      * @return 
      10.      */  
      11.     @RequestMapping("fileUpload")  
      12.     public String fileUpload(@RequestParam("file") MultipartFile file) {  
      13.         // 判断文件是否为空  
      14.         if (file!=null) {  
      15.             try {  
      16.                 // 文件保存路径  
      17.                 String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"  
      18.                         + file.getOriginalFilename();  
      19.                 // 转存文件  
      20.                 file.transferTo(new File(filePath));  
      21.             } catch (Exception e) {  
      22.                 e.printStackTrace();  
      23.             }  
      24.         }  
      25.         // 重定向  
      26.         return "redirect:/list.html";  
      27.     }  
      28. 个人感想:以上代码都是从别处弄来的,感觉没有特别难的,我的项目中唯一一个不同的地方是,把文件名字重新改了下,只需如下修改
      29.   String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/" +(UUId+文件名)+.后缀名
      30. File targetFile = new File(filePath);
      31.  file.transferTo(new File(filePath)); 
      32. 注意new File() 还有一个带俩参数的构造方法new file(path,fileName);其实这都无所谓了,new出来的东西是一样的,既有路径又有文件名
posted @ 2016-11-09 16:04  0o飞行天下o0  阅读(1484)  评论(3编辑  收藏  举报