SpringMVC框架 -- 上传图片

一.创建图片虚拟目录

在上传图片之前,先要设置虚拟目录(以IDEA为例)

  • 打开工具栏的运行配置Edit Configurations
  • 添加物理目录和并设置虚拟目录路径


    SpringMVC框架 -- 上传图片_第1张图片
SpringMVC框架 -- 上传图片_第2张图片
  • 添加img图片在img文件夹内
SpringMVC框架 -- 上传图片_第3张图片
  • 测试访问:http://localhost:8080/img/img.jpg
    SpringMVC框架 -- 上传图片_第4张图片

二.SpringMVC上传头像

1.SpringMVC对多部件类型的解析
  • 上传图片SpringMVC.xml配置

在页面form中提交enctype="multipart/form-data"的数据时,需要springmvc对multipart类型的数据进行解析。在springmvc.xml中配置multipart类型解析器。


    
        
            5242880
        
    
2.添加依赖


    commons-fileupload
    commons-fileupload
    1.3.1

3. 在Login1.jsp页面form中提交enctype="multipart/form-data"的数据
SpringMVC框架 -- 上传图片_第5张图片
4.处理请求UserController.java
      @RequestMapping("insertUser")
    public String insertUser (HttpServletRequest request, User user, MultipartFile imgFile) throws IOException {
        //获取文件原始名称
        String originalFilename = imgFile.getOriginalFilename();
        //上传图片
        if(imgFile!=null && originalFilename!=null && originalFilename.length()>0){
            //存储图片的物理路径
            String pic_path = "/home/ubuntu/IDEA/SSM/img/";
            //新的图片名称
            String newFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf("."));
            //新图片
            File newFile = new File(pic_path+newFileName);
            //将内存中的数据写入磁盘
            imgFile.transferTo(newFile);
            userService.insertUser(user,newFileName);
            HttpSession session = request.getSession();
            session.setAttribute("imgUrl", newFileName);
        }

        return "item/success";
    }
SpringMVC框架 -- 上传图片_第6张图片
上传成功
  • 成功跳转页面success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    成功


成功页面

">
SpringMVC框架 -- 上传图片_第7张图片

文集:SpringMVC框架学习

你可能感兴趣的:(SpringMVC框架 -- 上传图片)