SpringMVC上传(通过物理路径)

时间:2023-03-09 01:13:41
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. <form action="fileUpload.html" method="post" enctype="multipart/form-data">
    4. 选择文件:<input type="file" name="file">
    5. <input type="submit" value="提交">
    6. </form>
    7. </body>
      1. /通过Spring的autowired注解获取spring默认配置的request
      2. @Autowired
      3. private HttpServletRequest request;
      4. /***
      5. * 上传文件 用@RequestParam注解来指定表单上的file为MultipartFile
      6. *
      7. * @param file
      8. * @return
      9. */
      10. @RequestMapping("fileUpload")
      11. public String fileUpload(@RequestParam("file") MultipartFile file) {
      12. // 判断文件是否为空
      13. if (!file.isEmpty()) {
      14. try {
      15. // 文件保存路径
      16. String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"
      17. + file.getOriginalFilename();
      18. // 转存文件
      19. file.transferTo(new File(filePath));
      20. } catch (Exception e) {
      21. e.printStackTrace();
      22. }
      23. }
      24. // 重定向
      25. return "redirect:/list.html";
      26. }
      27. 个人感想:以上代码都是从别处弄来的,感觉没有特别难的,我的项目中唯一一个不同的地方是,把文件名字重新改了下,只需如下修改
      28. File targetFile = new File(filePath,newname);可以用md5加密放到这就可以了