728x90
반응형
아래 옵션으로 편리하게 request 데이터를 확인할 수 있다.
logging.level.org.apache.coyote.http11=debug
package hello.upload.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
@Slf4j
@Controller
@RequestMapping("/spring")
public class SpringUploadController {
@Value("${file.dir}")
private String fileDir;
@GetMapping("/upload")
public String newFile() {
return "upload-form";
}
@PostMapping("/upload")
public String saveFile(@RequestParam String itemName,
@RequestParam MultipartFile file, HttpServletRequest
request) throws IOException {
log.info("request={}", request);
log.info("itemName={}", itemName);
log.info("multipartFile={}", file);
if (!file.isEmpty()) {
String fullPath = fileDir + file.getOriginalFilename();
log.info("파일 저장 fullPath={}", fullPath);
file.transferTo(new File(fullPath));
}
return "upload-form";
}
}
728x90
반응형
'Back-End > Spring Boot' 카테고리의 다른 글
Spring Boot | Mysql 연동하는 방법 (0) | 2022.11.03 |
---|---|
Sping Boot | Backend Project | AWS S3 upload 구현 (0) | 2022.11.01 |
Sping Boot | Backend Project | JWT in Cookie (0) | 2022.10.05 |
Sping Boot | Backend Project | Snake,Camel in Request, Response에 대한 고찰, 섞어서 쓰면 안되는 이유 ( with 사용자 설정 표기법 ) (0) | 2022.09.30 |
Sping Boot | Backend Project | Redis 적용하기 (1) | 2022.09.28 |