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出來的東西是一樣的,既有路徑又有文件名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM