Spring Boot 파일 업로드 최신 솔 루 션
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
올 린 여러 파일 의 총 크기 제한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 의enctype
는multipart/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 파일 업로드 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.