Spring boot 文件上传:

@ApiOperation(value = "文件上传")
    @PostMapping(value = "/fileUpload")
    public String upload(HttpServletRequest request,
                         @RequestParam("description") String description,
                         @RequestParam("file") MultipartFile file) throws IllegalStateException, IOException {

        // 获取文件描述参数 description,纯粹测试使用
        System.out.println("description = " + description);

        // 测试MultipartFile接口的各个方法
        System.out.println("文件类型ContentType=" + file.getContentType());
        System.out.println("文件组件名称Name=" + file.getName());
        System.out.println("文件原名称OriginalFileName=" + file.getOriginalFilename());
        System.out.println("文件大小Size=" + file.getSize()/1024 + "KB");

        // 如果文件不为空,写入上传路径,进行文件上传
        if (!file.isEmpty()) {

            // 构建上传文件的存放路径
            String path = request.getServletContext().getRealPath("/upload/");
            System.out.println("path = " + path);


            // 获取上传的文件名称,并结合存放路径,构建新的文件名称
            String filename = file.getOriginalFilename();

            // 随机生成文件名,使用时间戳
            String hz = filename.substring(filename.lastIndexOf("."));
            String filename2 = new Date().getTime() + hz;

            File filepath = new File(path, filename2);

            // 判断路径是否存在,不存在则新创建一个
            if (!filepath.getParentFile().exists()) {
                filepath.getParentFile().mkdirs();
            }

            // 将上传文件保存到目标文件目录
            file.transferTo(new File(path + File.separator + filename2));
            System.out.println("文件现名称=" + filename2);

            return "success";
        } else {
            return "error";
        }
    }

你可能感兴趣的:(upload)