1. 程式人生 > >[Spring Boot] Spring Boot MultipartFile上傳檔案

[Spring Boot] Spring Boot MultipartFile上傳檔案

Spring Boot 上傳檔案程式碼

Spring Boot 使用MultipartFile來完成檔案上傳

    @ResponseBody
    @RequestMapping(value = "/put")
    public Boolean putFile(@RequestParam("file") MultipartFile file){
        if (!file.isEmpty()) {
            try {
                String file_path = file.getOriginalFilename();
                BufferedOutputStream out = new BufferedOutputStream(
                        new FileOutputStream(new File(file_path)));
                out.write(file.getBytes());
                out.flush();
                out.close();
                return true;
            } catch (IOException e) {
                logger.error("file upload fail: " + e.getMessage());
                return false;
            }
        } else {
            logger.error("file upload fail!");
            return false;
        }
    }

報錯 FileSizeLimitExceededException

org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.

在這裡插入圖片描述

解決方法:新增 application.properties 配置檔案

#單個數據的大小
spring.servlet.multipart.max-file-size=30MB
#總資料的大小
spring.servlet.multipart.max-request-size=30MB

# 不同版本的配置不同

# Spring Boot 1.3.x 
# multipart.maxFileSize
# multipart.maxRequestSize

# Spring Boot 1.4.x and 1.5.x
# spring.http.multipart.maxFileSize
# spring.http.multipart.maxRequestSize

# Spring Boot 2.x
# spring.servlet.multipart.maxFileSize
# spring.servlet.multipart.maxRequestSize

# Spring Boot 2.1
# spring.servlet.multipart.max-file-size
# spring.servlet.multipart.max-request-size