SpringMVC文件上传、拦截器

SpringMVC的文件上传方式


需引入相关的jar包


      commons-fileupload
      commons-fileupload
      1.3.1
    
    
      commons-io
      commons-io
      2.4
    

原理:


首先,编写相应的jsp

选择文件:

配置文件解析器(固定写法)


    
        
    
@RequestMapping("/fileupload")
    public String fileupload(HttpServletRequest request, MultipartFile upload) throws Exception {
        System.out.println("调用SpringMVC的文件上传");
        //配置文件上传的位置
        String path = request.getSession().getServletContext().getRealPath("/uploads/");
        //判断此路径是否存在
        File file = new File(path);
        if(!file.exists()){
            file.mkdir();
        }

        //拿到所上传文件名
        String filename = upload.getOriginalFilename();
        //为了不会覆盖图片,配置UUID唯一值
        String uuid = UUID.randomUUID().toString().replace("-","");
        //把为一只添加到上传文件名
        filename = uuid+"_"+filename;
        //上传文件
        upload.transferTo(new File(path,filename));
        return "success";
    }

SpringMVC拦截器


拦截器和过滤器的区别

  1. 过滤器是Servlet规范的一部分,任何框架都可以使用过滤器技术。
  2. 拦截器是SpringMVC框架独有的。
  3. 过滤器配置了/*,可以拦截任何资源。
  4. 拦截器只会对控制器中的方法进行拦截

你可能感兴趣的:(SpringMVC文件上传、拦截器)