使用fileupload或Spinrg上传文件

导jar包


    
      org.springframework
      spring-context
      ${spring.version}
    

    
      org.springframework
      spring-web
      ${spring.version}
    

    
      org.springframework
      spring-webmvc
      ${spring.version}
    

    
      javax.servlet
      servlet-api
      2.5
      provided
    

    
      javax.servlet.jsp
      jsp-api
      2.0
      provided
    

    
      junit
      junit
      4.11
      test
    

    
      commons-io
      commons-io
      2.4
    

    
      commons-fileupload
      commons-fileupload
      1.3.3
    
  

配置web.xml


  Archetype Created Web Application

  
    
    springmvc
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:springmvc.xml
    
    1
  

  
    springmvc
    /
  


  
  
    characterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
  
  
    characterEncodingFilter
    /*
  

spring配置文件




   

    
    
        
        
    

    



    

fileupload上传文件
注意使用该方法一定不要在springmvc.xml中配置文件解析器对象

 @RequestMapping("/fileupload1")
    public String fileupload1(HttpServletRequest request, HttpServletResponse response) throws Exception {
        System.out.println("文件上传...");

        // 上传的位置
        String path = request.getSession().getServletContext().getRealPath("/uploads");
        // 判断,该路径是否存在
        File file = new File(path);
        if(!file.exists()){
            // 创建该文件夹
            file.mkdirs();
        }

        // 解析request对象,获取上传文件项
        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);

        // 解析request
        List items = upload.parseRequest(request);
        String itemNo = "";

        // 遍历
        for(FileItem item:items){
          if(!item.isFormField()){
                // 获取上传文件的名称
                String filename = item.getName();
                // 把文件的名称设置唯一值,uuid
                String uuid = UUID.randomUUID().toString().replace("-", "");
                filename = uuid+"_"+filename;
                // 完成文件上传
                item.write(new File(path,filename));
                // 删除临时文件
                item.delete();
            }
        }
        return "success";
    }

springMVC上传文件

@RequestMapping("/fileupload2")
    public String fileupload2(HttpServletRequest request, MultipartFile upload) throws Exception {
        System.out.println("springmvc文件上传...");

        // 使用fileupload组件完成文件上传
        // 上传的位置
        String path = request.getSession().getServletContext().getRealPath("/uploads");
        // 判断,该路径是否存在
        File file = new File(path);
        if(!file.exists()){
            // 创建该文件夹
            file.mkdirs();
        }

        // 说明上传文件项
        // 获取上传文件的名称
        String filename = upload.getOriginalFilename();
        // 把文件的名称设置唯一值,uuid
        String uuid = UUID.randomUUID().toString().replace("-", "");
        filename = uuid+"_"+filename;
        // 完成文件上传
        upload.transferTo(new File(path,filename));

        return "success";
    }

使用该方法要在springmvc.xml中配置文件解析器对象

 
    
        
    

前端提交表单页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


文件上传

<%-- 选择文件:--%>
选择文件:

你可能感兴趣的:(java,spring)