• SpringMVC上传文件


      SpringMVC中上传文件还是比较方便的,Spring内置了一些上传文件的支持类,不需要复杂的操作即可上传文件。

      文件上传需要两个jar支持,一个是commons-fileupload.jar和commons-io.jar。并且需要在springMVC的配置文件中加入支持文件上传的配置:

      

    1 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    2     <property name="defaultEncoding" value="utf-8" />
    3 </bean>

      可配置项还有maxuploadsize、uploadTempDir、maxInMemorySize等等。

      jsp页面代码:

    1 <body>
    2       <form action="<%=path %>/upload" method="post" enctype="multipart/form-data">
    3           文件:<input type="file" name="file" id="file" /><br/>
    4           参数:<input type="text" name="param" id="param" /><br/>
    5               <button type="submit">提交</button>
    6       </form>
    7  </body>

      文件上传的controller代码:

      

     1 import java.io.File;
     2 import java.io.IOException;
     3 import javax.servlet.http.HttpServletRequest;
     4 import org.springframework.stereotype.Controller;
     5 import org.springframework.web.bind.annotation.RequestMapping;
     6 import org.springframework.web.bind.annotation.RequestParam;
     7 import org.springframework.web.multipart.MultipartFile;
     8 
     9 @Controller
    10 public class UploadController{
    11     
    12     @RequestMapping("/upload")
    13     public String upload(@RequestParam("file") MultipartFile file, HttpServletRequest request){
    14         if(file.isEmpty()){
    15             System.out.println("file is null---");
    16             return null;
    17         }
    18         
    19         try {
    20             String fileName = file.getOriginalFilename();
    21             fileName = new String(fileName.getBytes("iso8859-1"), "UTF-8"); //防止文件名中的中文乱码,进行utf-8转码
    22             
    23             String newPath = request.getSession().getServletContext().getRealPath("upload"); //使用项目下的upload目录存放上传的文件
    24             String param = request.getParameter("param");  //获取到表单提交的参数
    25             System.out.println("param:"+param);
    26             File newFile2 = new File(newPath);
    27             if(!newFile2.exists()){
    28                 newFile2.mkdir();
    29             }
    30             File newFile = new File(newPath+File.separator+fileName);
    31             file.transferTo(newFile);  // 存储文件
    32         } catch (IOException e) {
    33             e.printStackTrace();
    34         }
    35         return null;
    36     }
    37 }
  • 相关阅读:
    MS SQL 错误 :17883,严重度: 1,状态: 0
    秒杀架构中高性能可扩展高可用的一点思考
    让IE10等支持classList2.0
    判定元素是否刚插入到DOM树
    accept巨坑
    for in 循环的输出顺序问题
    css斜线
    angular的directive笔记
    avalon最佳实践
    迷你MVVM框架 avalonjs 0.97发布
  • 原文地址:https://www.cnblogs.com/bigbang92/p/springMVC-fileupload.html
Copyright © 2020-2023  润新知