spring-mvc上传图片并回显图片

一.在spingmvc配置文件中配置文件解析器
在这里插入图片描述
二.编写controller

@RequestMapping("/courseUpload")
    public ResponseResult fileUpload(@RequestParam("file")MultipartFile file, HttpServletRequest request) throws IOException {

        // 1.判断文件是否为空
        if (file.isEmpty()) {
            throw new RuntimeException();
        }
        // 2.获取项目部署路径
        String realPath = request.getServletContext().getRealPath("/");
        String substring = realPath.substring(0, realPath.indexOf("ssm_web"));

        // 3.获取源文件名
        String originalFilename = file.getOriginalFilename();

        // 4.生成新文件名(当前时间的时间戳+文件的后缀名)
        String newFileName = System.currentTimeMillis() + originalFilename.substring(originalFilename.lastIndexOf("."));

        // 5.文件上传
        String uploadPath = substring + "upload\\";
        File filePath = new File(uploadPath, newFileName);

        // 如果目录不存在则创建目录
        if(!filePath.getParentFile().exists()) {
            filePath.getParentFile().mkdirs();
            System.out.println("创建目录:" + filePath);
        }
        // 图片进行了真正的上传
        file.transferTo(filePath);

        // 6.将文件名和文件路径返回进行响应
        HashMap<String, String> map = new HashMap<>();
        map.put("fileName", newFileName);
        map.put("filePath", "http://localhost:8080/upload/" + newFileName);
        ResponseResult responseResult = new ResponseResult(true, 200, "图片上传成功", map);
        return responseResult;

    }

三.postman测试
spring-mvc上传图片并回显图片_第1张图片
四.访问postman返回的filePath,发现404
五.在tomcat中配置upload
spring-mvc上传图片并回显图片_第2张图片
spring-mvc上传图片并回显图片_第3张图片
六.再次访问图片路径,可以查看到图片

你可能感兴趣的:(java)