Spring Boot 파일 업로드 최신 솔 루 션

1.WEB 의존 을 포함 한 간단 한 SpringBoot 프로젝트 만 들 기pom.xml내용:

<!-- Spring Boot web    -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- jsp -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <!--<scope>provided</scope>-->
</dependency>
2.파일 업로드 파일 크기 제한 설정application.properties프로필 추가:

#          
spring.servlet.multipart.max-request-size=10MB
#         
spring.servlet.multipart.max-file-size=10MB

## jsp
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
  • spring.servlet.multipart.max-file-size단일 파일 의 최대 치 를 제한 합 니 다
  • spring.servlet.multipart.max-request-size올 린 여러 파일 의 총 크기 제한
  •  3.단일 파일 업로드 예제
    1.컨트롤 러 제어 클래스 를 만 듭 니 다.내용 은 다음 과 같 습 니 다.
    
    package com.songguoliang.springboot.controller;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.multipart.MultipartHttpServletRequest;
    
    import javax.servlet.http.HttpServletRequest;
    import java.io.File;
    import java.io.IOException;
    import java.util.List;
    
    /**
     * @Description
     * @Author sgl
     * @Date 2018-05-15 14:04
     */
    @Controller
    public class UploadController {
        private static final Logger LOGGER = LoggerFactory.getLogger(UploadController.class);
    
        @GetMapping("/upload")
        public String upload() {
            return "upload";
        }
    
        @PostMapping("/upload")
        @ResponseBody
        public String upload(@RequestParam("file") MultipartFile file) {
            if (file.isEmpty()) {
                return "    ,     ";
            }
    
            String fileName = file.getOriginalFilename();
            String filePath = "/Users/itinypocket/workspace/temp/";
            File dest = new File(filePath + fileName);
            try {
                file.transferTo(dest);
                LOGGER.info("    ");
                return "    ";
            } catch (IOException e) {
                LOGGER.error(e.toString(), e);
            }
            return "    !";
        }
    
        
    }
    2.파일 생 성upload.jsp폼 이 하나 있 습 니 다.파일 을 선택 하 십시오.form 의enctypemultipart/form-data입 니 다.
    
    <%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
        <title>     </title>
    </head>
    <body>
    <form method="post" action="/upload" enctype="multipart/form-data">
        <input type="file" name="file"><br>
        <input type="submit" value="  ">
    </form>
    </body>
    </html>
    3.springboot 플러그 인 을 통 해 프로젝트 를 시작 하고 브 라 우 저 입력http://localhost:8080/upload:
    这里写图片描述
    파일 을 선택 하고 제출 단 추 를 누 르 면 성공 정 보 를 되 돌려 줍 니 다.저희 가 업로드 한 파일 은/Users/itinypocket/workspace/temp경로 에 저 장 됩 니 다.
    这里写图片描述
    4.다 중 파일 업로드
    1.다 중 파일 업로드 jsp 페이지 를 만 들 고 다 중 파일 업로드 페이지 는 단일 파일 업로드 보다 file 이 선택 한 input 일 뿐multiUpload.jsp내용 은 다음 과 같 습 니 다.
    
    <%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
        <title>     </title>
    </head>
    <body>
    <form method="post" action="/multiUpload" enctype="multipart/form-data">
        <input type="file" name="file"><br>
        <input type="file" name="file"><br>
        <input type="file" name="file"><br>
        <input type="submit" value="  ">
    </form>
    </body>
    </html>
    2.UploadController에 여러 파일 을 추가 하여 업로드 하 는 방법
    
    @GetMapping("/multiUpload")
    public String multiUpload() {
        return "multiUpload";
    }
    
    @PostMapping("/multiUpload")
    @ResponseBody
    public String multiUpload(HttpServletRequest request) {
        List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
        String filePath = "/Users/itinypocket/workspace/temp/";
        for (int i = 0; i < files.size(); i++) {
            MultipartFile file = files.get(i);
            if (file.isEmpty()) {
                return "   " + (i++) + "     ";
            }
            String fileName = file.getOriginalFilename();
    
            File dest = new File(filePath + fileName);
            try {
                file.transferTo(dest);
                LOGGER.info(" " + (i + 1) + "       ");
            } catch (IOException e) {
                LOGGER.error(e.toString(), e);
                return "   " + (i++) + "     ";
            }
        }
    
        return "    ";
    
    }
    3.서비스 재 부팅,브 라 우 저 입력http://localhost:8080/multiUpload:
    这里写图片描述
    4.그 다음 에 업로드 할 파일 을 선택 하고 제출 단 추 를 누 르 면 성공 적 인 정 보 를 얻 을 수 있 습 니 다.
    这里写图片描述
    우리 가 선택 한 세 개의 파일 이/Users/itinypocket/workspace/temp경로 에 성공 적 으로 업로드 되 었 습 니 다.
    제로 베이스,통속 적 이 고 이해 하기 쉬 우 며 매우 재 미 있 고 유머 러 스 한 인공지능 튜 토리 얼 을 공유 합 니 다.사이트,주소:https://www.cbedai.net/gnailoug/
    원본 코드:
    github
    암운
    Spring Boot 파일 업로드 에 관 한 최신 솔 루 션 에 관 한 글 은 여기까지 입 니 다.더 많은 Spring Boot 파일 업로드 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기